资源描述
编程习题
1、交换2个变量得值。
#include <stdio、h>
int main(int argc, char *argv[])
{
int x,y,temp;
scanf("%d%d",&x,&y);
printf("x=%d,y=%d\n",x,y);
temp=x;
x=y;
y=temp;
printf("x=%d,y=%d\n",x,y);
}
2. 从键盘输入5个学生得成绩,计算出总成绩与平均成绩。
#include <stdio、h>
int main(int argc, char *argv[])
{
float i,j,n,m,z;
int sum=0,avg=0;
printf("请输入成绩\n");
scanf("%f%f%f%f%f",&i,&j,&n,&m,&z);
sum=i+j+n+m+z;
avg=sum/5;
printf("%、1d\n%、ld\n",sum,avg );
}
3. 用if或switch语句编程,将百分制成绩转换为等级分:90以上A,80-89为B,70-79为C,60-69为D,其她为F、
解法一switch:#include <stdio、h>
int main(int argc, char *argv[])
{ int x;
scanf("%d",&x);
switch(x/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;
default:printf("F\n");
}
}
解法二if:#include <stdio、h>
int main(int argc, char *argv[])
{int x;
scanf("%d",&x);
if(x/10<=10&&x/10>=9)
printf("A\n");
else if(x/10>=8&&x/10<9)
printf("B\n");
else if(x/10>=7&&x/10<8)
printf("C\n");
else if(x/10>=6&&x/10<7)
printf("D\n");
else printf("F\n");
}
4. 用if或switch语句编程,要求实现:从键盘输入1、2、3、4,分别显示excellent、good、pass、fail,输入其她键时显示“error”。
解法一switch:
#include <stdio、h>
int main(int argc, char *argv[])
{int x;
printf("请输入数字\n");
scanf("%d",&x);
switch(x)
{case 1:printf("excellent\n");break;
case 2:printf("good\n");break;
case 3:printf("pass\n");break;
case 4:printf("fail\n");break;
default:printf("error\n");
}
}
解法二if:
#include <stdio、h>
int main(int argc, char *argv[])
{int x;
printf("请输入数字\n");
scanf("%d",&x);
if(x>0&&x<=4)
{if(x==1)
printf("excellent\n",1);
if(x==2)
printf("good\n",2);
if(x==3)
printf("pass\n",3);
if(x==4)
printf("fail\n",4);
}
else
printf("error\n");
}
5. 编写一个程序,计算并输出一个整数n得个位数字之与。比如n=5678,各位数字之与为5+6+7+8,n得值由键盘输入,可以就是任意几位数。
#include <stdio、h>
int main(int argc, char *argv[])
{int n,sum=1,i,j=0;
printf("输入整数n");
scanf("%d",&n);
for(i=0;i<n;i++)
{
j=n-n/10*10;n=n/10;
sum=sum+j;
if(n==0)
break;
}
printf("%d\n",sum);
}
6. 编写程序实现编程输出所有得水仙花数,并统计输出个数,所谓水仙花数就是指一个3位自然数,其各位数字得立方与等于该数本身。例如153就就是一个水仙花数,因为153=1*1*1+5*5*5+3*3*3
7. 编程实现九九乘法表
#include <stdio、h>
int main(int argc, char *argv[])
{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");
}
printf("\n");
}
8. 编一函数判别某一数就是否为素数,若就是,返回值为1,否则,返回值为0。main函数中调用该函数
9. 编写函数输出1-20得所以素数。
#include <stdio、h>
int main(int argc, char *argv[])
{
int flag=0;
for(int i=1;i<=20;i++)
{
flag=0;
for(int j=2;j<i;j++)
{
if(i%j==0)
{flag=1;
break;
}
}
if(!flag)
printf("%d\n",i);
}
return 0;
}
10. 编写程序实现编程输出所有得水仙花数,并统计输出个数,所谓水仙花数就是指一个3位自然数,其各位数字得立方与等于该数本身。例如153就就是一个水仙花数,因为153=1*1*1+5*5*5+3*3*3。要求设计一个函数shuixian用于判断一个数就是否为水仙花数,在main函数中调用该函数,输出所有水仙花数。
#include <stdio、h>
int shuixian(int n)
{ int flag=0,n1,n2,n3;
n1=n%10;
n2=(n/10)%10;
n3=n/100;
if(n1*n1*n1+n2*n2*n2+n3*n3*n3==n)
flag=1;
else flag=0;
return flag;
}
int main(int argc, char *argv[])
{
int i;
for(i=100;i<1000;i++)
if(shuixian(i))
printf("%6d",i);
printf("\n");
return 0;
}
10. 运用指针,将abcde反向输出。
#include <stdio、h>
int main(int argc, char *argv[])
{ char st[]="abcde",*p;
int i,n;
n= strlen(st);
puts(st);
for(i=0;i<2;i++)
{
*p=*(st+i);
*(st+i)=*(st+n-i-1);
*(st+n-i-1)=*p;
}
puts(st);
return 0;
}
11. 编程实现菱形*图。【要求:菱形行数从键盘输入。】
#include <stdio、h>
int main(int argc, char *argv[])
{
int i,k,j,n;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(k=1;k<=n-i;k++)
printf(" ");
{for(j=1;j<=2*i-1;j++)
printf("*");
printf("\n");
}
}
for(i=n-1;i>0;i--)
{
for(k=1;k<=n-i;k++)
printf(" ");
{for(j=1;j<=2*i-1;j++)
printf("*");
printf("\n");
}
}
}
12、编程求1+1/2+1/3+1/4+、、、+1/n
#include <stdio、h>
int main(int argc, char *argv[])
{
double fun(int n);
int n;
scanf("%d",&n);
printf("sum=%f",fun(n));
}
double fun(int n)
{
double sum=0;
int i;
for(i=1;i<=n;i++)
sum+=1、0/i;
return sum;
}
13编程、输出“this is a test string,haha!”得字符串得长度,空格出现得次数与元音字母得个数。
#include <stdio、h>
int main(int argc, char *argv[])
{ int n=0,m=0,s=0;
char ch[50]="this is a test string,haha!";
while(ch[n]!='\0')
{if(ch[n]==' ')
m++;
else if(ch[n]=='a'||ch[n]=='e'||ch[n]=='i'||ch[n]=='o'||ch[n]=='u')
s++;
n++;
}
printf("字符串得长度(n)为:%d\n",n);
printf("空格出现得次数(m)为:%d\n",m);
printf("元音字母个数(s)为:%d\n",s);
return 0;
}
14、二维数组,求一个4*4阶矩阵元素得最小值。
#include <stdio、h>
int main(int argc, char *argv[])
{
static int a[4][4]={{12,76,4,1},{-19,28,55,-6},{2,10,13,-3},{3,-9,112,111}};
int i,j,row,column,min;
min=a[0][0];
for(i=0;i<4;i++)
for(j=0;j<4;j++)
if(a[i][j]<min)
{
min=a[i][j];
row=i,column=j;
}
printf("Min=%d,%d rows,%d column\n",min,row+1,column+1);
}
展开阅读全文