簡單常見筆試算法,C語言實現

1:輸出九九乘法表
在這裏插入圖片描述

#include<stdio.h>
int main(){
	int i,j;
	for(i=1;i<10;i++){
		for(j=1;j<=i;j++){
			printf("%d*%d=%d ",i,j,i*j);
		}
		printf("\n");
	}
}

2:有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數爲多少?
在這裏插入圖片描述

#include<stdio.h>
int main(){
	int f1=1,f2=1;
	int i;
	for(i=1;i<10;i++){
		printf("%d %d ",f1,f2);
		f1=f1+f2;
		f2=f1+f2;
	}
	
}

3:判斷101-200之間有多少個素數,並輸出所有素數及素數的個數。
在這裏插入圖片描述

#include<stdio.h>
int main(){
	int i,j;
	for(i=101;i<201;i++){
		for(j=2;j<i;j++){
			if(i%j==0){
				break;
			}
		}
		if(j>=i){
			printf("%d ",i);
		}
	}
	
}

4:一個數如果恰好等於它的因子之和,這個數就稱爲"完數"。例如6=1+2+3.編程找出1000以內的所有完數。
在這裏插入圖片描述

#include<stdio.h>
int main(){
	int i,j;
	for(i=2;i<1001;i++){
		int sum=1;
		for(j=2;j<i;j++){
			if(i%j==0){
				sum=sum+j;
			}
		}
		if(i==sum){
			printf("%d ",i);
		}
	}
	
}

5:4×4的數組進行逆時針旋轉90度後輸出,要求原始數組的數據隨機輸入,新數組以4行4列的方式輸出.
在這裏插入圖片描述

#include<stdio.h>
int main(){
	int i,j;
	int a[4][4],b[4][4];
	for(i=0;i<4;i++){
		for(j=0;j<4;j++){
			scanf("%d",&a[i][j]);
			b[3-j][i]=a[i][j];
		}
	}
	for(i=0;i<4;i++){
		for(j=0;j<4;j++){
			printf("%d",b[i][j]);
		}
		printf("\n");
	}
	
}

6:編程打印直角楊輝三角形
在這裏插入圖片描述

#include<stdio.h>
int main(){
	int i,j;
	int a[10][10];
	a[0][0]=1;
	for(i=0;i<10;i++){
		a[i][i]=1;
		a[i][0]=1;
	}
	for(i=2;i<10;i++){
		for(j=1;j<i;j++){
			a[i][j]=a[i-1][j]+a[i-1][j-1];
		}
	}
	for(i=0;i<10;i++){
		for(j=0;j<=i;j++){
			printf("%d ",a[i][j]);
		}
		printf("\n");
	}
	
}

7:通過鍵盤輸入3名學生4門課程的成績,分別求每個學生的平均成績和每門課程的平均成績。要求所有成績均放入一個4行5列的數組中,輸入時同一人數據間用空格,不同人用回車其中最後一列和最後一行分別放每個學生的平均成績、每門課程的平均成績及班級總平均分。
在這裏插入圖片描述

#include<stdio.h>
int main(){
	float a[4][5];
	int i,j;
	for(i=0;i<3;i++){
		for(j=0;j<4;j++){
			scanf("%f",&a[i][j]);
		}
		a[i][4]=(a[i][0]+a[i][1]+a[i][2]+a[i][3])/4;
	}
	for(i=0;i<5;i++){
		a[3][i]=(a[0][i]+a[1][i]+a[2][i])/3;
	}
	for(i=0;i<4;i++){
		for(j=0;j<5;j++){
			printf("%f ",a[i][j]);
		}
		printf("\n");
	}
	
	
}

8:實現將輸入的字符串反序輸出
在這裏插入圖片描述

#include<stdio.h>
#include<string.h>
int main(){
	//實現將輸入的字符串反序輸出
	char s[100],c;
	int a,i,j;
	printf("input s\n"); 
	scanf("%s",&s);
	a=strlen(s);
	for(i=0,j=a-1;i<a/2;i++,j--){
		c=s[i];
		s[i]=s[j];
		s[j]=c;
	}
	printf("%s",s);
		
}

9:從字符數組s中刪除存放在c中的字符
在這裏插入圖片描述

#include<stdio.h>
#include<string.h>
int main(){
	char s[100],c;
	int i,j,k;
	printf("input s\n");
	gets(s);
	printf("input c\n");
	c=getchar();
	for(i=0,k=0;i<100;i++){
		if(s[i]!=c){
			s[k++]=s[i];
		}
	}
	printf("%s",s);
		
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章