资源描述
1:求输入分数,输出等级.如:输入97 ,输出A?
#include<stdio.h>
int main()
{
int t,s;
scanf("%d",&s);
if(s<60)
t=5;
else
t=s/10;
switch(t)
{
case 10:
case 9:printf("A\n");break;
case 8:printf("B\n");break;
case 7:printf("C\n");break;
case 6:printf("D\n");break;
case 5:printf("E\n");break;
default: printf("enter datd error!\n");
}
return 0;
}
2:求2+3/2+5/3+8/5+13/8+….?(20个相加)
#include<stdio.h>
int main()
{
int j=1;
float s=2.0,sum=0.0,i=2.0,t=1.0,n;
while(j<=20)
{
j++;
sum=sum+s;
n=i;
i=n+t;
t=n;
s=i/t;
}
printf("%f\n",sum);
return 0;
}
3:求a+aa+aaa+…+(n个a)的值?
#include<stdio.h>
int main()
{
int t,a,n,sum=0;
scanf("%d%d",&a,&n);
t=a;
while(n!=0)
{
sum=sum+t;
t=t*10+a;
--n;
}
printf("sum is%ld\n",sum);
return 0;
}
4:求一元二次方程的根?
#include<stdio.h>
#include<math.h>
int main()
{
double a,b,c,disc,x1,x2,p,q;
scanf("a=%lfb=%lfc=%lf",&a,&b,&c);
disc=b*b-4*a*c;
p=-b/(2.0*a);
q=sqrt(disc)/(2.0*a);
x1=p+q;x2=p-q;
printf("x1=%7.2f\nx2=%7.2f\n",x1,x2);
return 0;
}
5:找100到200之间的素数?
#include<stdio.h>
#include<math.h>
int main()
{
int i,j,k,m=0;
for(i=100;i<=200;i++)
{
k=sqrt(i);
for(j=2;j<=k;j++)
{
if(i%j==0)break;
}
if(j>=k+1)
{
m++;
printf("%5d",i);
}
if(m%10==0)
printf("\n");
}
return 0;
}
6:求100到999的水仙花(例如(153=1的3次方+5的3次方+1的3次方即(151=13+53+13)?
#include<stdio.h>
#include<math.h>
int main()
{
int n,a,b,c;
for(n=100;n<=999;n++)
{
a=n/100;
b=n%100/10;
c=n%10;
if(n=a*a*a+b*b*b+c*c*c)
printf("%d=%d3+%d3+%d3\n",n,a,b,c);
}
printf("\n");
return 0;
}
7:求输入任意十个整数,输出由小到大的十个整数?
#include<stdio.h>
int main()
{
int a[10];
int i,j,t;
printf("please enter 10 numbles:\n");
for(i=0;i<=9;i++)
scanf("%d",&a[i]);
for(j=0;j<9;j++)
{
for(i=0;i<=9-j;i++)
if(a[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
}
printf("please the sorted numbers:\n");
for(i=0;i<=9;i++)
printf("%4d",a[i]);
printf("\n");
return 0;
}
8:将一个二维的行列互换,存到另一个二维数组中?
#include<stdio.h>
int main()
{
int a[2][3]={{1,2,3},{4,5,6}};
int b[3][2],i,j;
printf("array a:\n");
for(i=0;i<=1;i++)
{
for(j=0;j<=2;j++)
{
printf("%5d",a[i][j]);
b[j][i]=a[i][j];
}
printf("\n");
}
printf("array b:\n");
for(i=0;i<=2;i++)
{
for(j=0;j<=1;j++)
{
printf("%5d",b[i][j]);
}
printf("\n");
}
return 0;
}
9:求一个矩阵的最大值元素,以及其所在的行号与列号?
#include<stdio.h>
int main()
{
int i,j,row=0,colum=0,max;
int a[3][4]={{1,2,3,4},{9,8,7,6},{-10,10,-5,2}};
max=a[0][0];
for(i=0;i<=2;i++)
{
for(j=0;j<=3;j++)
if(a[i][j]>max)
{
max=a[i][j];
row=i;
colum=j;
}
}
printf("max=%d\nrow=%d\ncolum=%d\n",max,row,colum);
return 0;
}
10:输出一个已知字符串?
#include<stdio.h>
int main()
{
char c[10]={'i',' ','a','m',' ','h','a','p','p','y'};
int i;
for(i=0;i<=9;i++)
printf("%c",c[i]);
printf("\n");
return 0;
}
11:输出一个菱形图?
#include<stdio.h>
int main()
{
char c[6][6]={{' ',' ','*',' ',' '},{' ','*',' ','*',' '},{'*',' ',' ',' ','*'},{' ','*',' ','*',' '},
{' ',' ','*',' ',' '}};
int i,j;
for(i=0;i<=4;i++)
{
for(j=0;j<=4;j++)
printf("%c",c[i][j]);
printf("\n");
}
printf("\n");
return 0;
}
12:Strcat函数的使用?
#include<stdio.h>
#include<string.h>
int main()
{
char str1[20],str2[20];
gets(str1);
gets(str2);
printf("%s\n",strcat(str1,str2));
printf("\n");
return 0;
}
13:Strcpy函数的使用?
#include<stdio.h>
#include<string.h>
int main()
{
char str1[20],str2[10];
gets(str2);
printf("%s\n",strcpy(str1,str2));
printf("\n");
return 0;
}
14:Strcmp函数的使用?
#include<stdio.h>
#include<string.h>
int main()
{
char str1[20],str2[20];
gets(str1);
gets(str2);
if(strcmp(str1,str2)>0)
printf("ye");
printf("\n");
return 0;
}
15:Strlen函数的使用?
#include<stdio.h>
#include<string.h>
int main()
{
char str1[20],str2[20];
gets(str1);
gets(str2);
printf("%d\n%d",strlen(str1),strlen(str2));
printf("\n");
return 0;
}
16:Strlwr与strupr函数的使用?
#include<stdio.h>
#include<string.h>
int main()
{
char str1[20],str2[20];
gets(str1);
gets(str2);
printf("%s\n%s",strlwr(str1),strupr(str2));
printf("\n");
return 0;
}
17:属于一行字符,统计其中有多少个单词,单词之间用空格分阁开?
#include<stdio.h>
int main()
{
char c1[30];
int i,num=0,word=0;
gets(c1);
for(i=0;c1[i]!='\0';i++)
{
if(c1[i]==' ')
word=0;
else if(word==0)
{
word=1;
num++;
}
}
printf("There are %d words in this line.\n",num);
return 0;
}
18:有三个字符串,要求找出其中的最大者?
#include<stdio.h>
#include<string>
int main()
{
char str1[30],str2[30],str3[30],str4[40];
gets(str1);
gets(str2);
gets(str3);
if(strcmp(str1,str2)>0)
strcpy(str4,str1);
else
strcpy(str4,str2);
if(strcmp(str3,str4)>0)
strcpy(str4,str3);
printf("\nthe largest str4 is:\n%s\n",str4);
return 0;
}
19将一个数组中值按逆序重新输出,例如:8 6 5 4 1输出1 4 5 6 8
#include<stdio.h>
int main()
{
int a[5],i;
for(i=0;i<=4;i++)
{
scanf("%d",&a[i]);
}
for(i=4;i>=0;i--)
{
printf("%4d",a[i]);
}
printf("\n");
return 0;
}
20输出以下的杨辉三角形(要求输出10行)?
#include<stdio.h>
int main()
{
int i,j,a[10][10];
printf(" 杨辉三角形\n");
for(i=0;i<=9;i++)
{
for(j=0;j<=i;j++)
{
if(j==0||i==1||i==j)
a[i][j]=1;
else
a[i][j]=a[i-1][j]+a[i-1][j-1];
printf("%4d",a[i][j]);
}
printf("\n");
}
printf("\n");
return 0;
}
21:编写一个程序。将两个字符串连接起来,不要用strcat函数?
函数:
1:用函数实现函数调用;
#include<stdio.h>
int main()
{
void print_star();
void print_message();
print_star();
print_message();
print_star();
return 0;
}
void print_star()
{
printf("***************\n");
}
void print_message()
{
printf("How do you do!\n");
}
2:求两个数中的最大值?
#include<stdio.h>
int max(int x,int y);
int main()
{
int c,a,b;
scanf("%d%d",&a,&b);
c=max(a,b);
printf("max is %d\n",c);
return 0;
}
int max(int x,int y)
{
return (x>y?x:y);
}
3:求两个数的和?
#include<stdio.h>
int main()
{
int add(int x,int y);
int a,b,c;
scanf("%d%d",&a,&b);
c=add(a,b);
printf("sum is %d\n",c);
return 0;
}
int add(int x,int y)
{
return (x+y);
}
4求输入四个数,要求输出四个数中的最大值?
#include<stdio.h>
int main()
{
int max1(int a,int b,int c,int d);
int a,b,c,d,max;
printf("please enter 4 numbers:");
scanf("%d%d%d%d",&a,&b,&c,&d);
max=max1(a,b,c,d);
printf("max=%d\n",max);
return 0;
}
int max1(int a,int b,int c,int d)
{
int max2(int a,int b);
int m;
m=max2(a,b);
m=max2(m,c);
m=max2(m,d);
return (m);
}
int max2(int a,int b)
{
return (a>b?a:b);
}
5:输入三个数,要求输出齐最大值,且只用一个函数的调用?
#include<stdio.h>
int main()
{
int max(int a,int b);
int a,b,c,max1;
scanf("%d%d%d",&a,&b,&c);
max1=max(c,max(a,b));
printf("max is %d\n",max1);
return 0;
}
int max(int a,int b)
{
return(a>b?a:b);
}
函数的递归调用
6:有五个学生坐在一起,问第五个同学多大,他说比第四个大2岁;问第四个同学多大,他说比第三个同学大2岁;。。。。。;第一同学说自己10岁,问第五个同学多大?
int age(int n)
{
int c;
if(n==1)
c=10;
else
c=age(n-1)+2;
return(c);
}
#include<stdio.h>
int main()
{
int age(int n);
printf("no.5,age: %d\n",age(5));
return 0;
}
7:求输入某个数的阶乘?
#include<stdio.h>
int main()
{
int fac(int n);
int n,y;
printf("input an integer number:");
scanf("%d",&n);
y=fac(n);
printf("%d!=%d\n",n,y);
return 0;
}
int fac(int n)
{
int f;
if(n<0)
printf("n<0,data error!");
else if(n==0||n==1)
f=1;
else
f=fac(n-1)*n;
return(f);
}
8:输入10个数,要求输出其中的最大值元素,和该元素在第几个数?
#include<stdio.h>
int main()
{
int max(int x,int y);
int a[10];
int m,n,i;
printf("please enter 10 numbers:");
for(i=0;i<=9;i++)
{
scanf("%d",&a[i]);
}
printf("\n");
for(i=1,m=a[0],n=0;i<=9;i++)
{
if(max(m,a[i])>m)
{
m=max(m,a[i]);
n=i;
}
}
printf("The largest number is %d\n",m);
printf("it is the %dth number.\n",n);
return 0;
}
int max(int a,int b)
{
return(a>b?a:b);
}
展开阅读全文