“高级语言程序
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
”编程题
从键盘输入3个整数,求其中的最大数和最小数,并输出结果。
# include "stdio.h"
void main()
{
int x, y, z, max, min;
printf("Please input three integer number:");
scanf("%d %d %d", &x, &y, &z);
min = max = x;
if(x==y && y==z)
printf("x = y = z, max=min=%d\n", max);
else
{
if (y>max)
max = y;
if (z>max)
max = z;
if (y
void main()
{
int a[3][3],b[3]={0};
int i,j;
printf("请输入一个三行三列的整数矩阵:\n");
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
for(i=0;i<3;i++)
for(j=0;j<3;j++)
b[i]=b[i]+a[i][j];
for(i=0;i<3;i++)
printf("该矩阵第%d行元素的平均值是:%.2f\n",i+1,b[i]/3.0);
}
输出x2的值,x取值从0到10。
#include "stdio.h"
void main()
{
int x;
for(x=0; x<=10; x++)
printf("square(%d)=%d\n", x, x*x);
}
从键盘上输入一个3*4的整数矩阵,要求输出其最大元素的值,以及它的行号和列号。
#include "stdio.h"
void main()
{
int a[3][4], max, i, j, row, colum;
printf("请输入3*4的整数矩阵:\n");
for(i=0;i<3;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
max=a[0][0];
row=0;
colum=0;
for(i=0;i<3;i++)
for(j=0;j<4;j++)
if (a[i][j]>max)
{
max=a[i][j];
row=i;
colum=j;
}
printf("max=%d, row=%d, colum=%d \n",max, row, colum);
}
任意输入10个整数,打印出10个数中的最大值。
#include
void main()
{
int n, max, i;
scanf("%d", &max);
for (i = 1; i < 10; i ++)
{
scanf("%d", &n);
if (n > max)
max = n;
}
printf("max=%d", max);
}
编写一个函数根据以下公式计算s,计算结果作为函数值返回;n通过形参传入。
s=
#include
double f1(int n);
void main()
{
int n=1;
printf("Input the value of n\n");
scanf("%d",&n);
printf("%lf",f1(n));
}
double f1(int n)
{
int i;
double term,s=0;
for(i=1;i<=n;i++)
{
term=1.0/(2*i-1);
s+=term;
}
return(s);
}
输出1000年(包括1000年)到1999年之间的所有闰年,要求每三个一行,分行输出。
#include
void main()
{
int i=0;
int year,leap;
for(year=1000;year<2000;year++)
{
if (year%4==0)
if(year%100==0)
if(year%400==0)
leap=1;
else
leap=0;
else
leap=1;
else
leap=0;
if(leap)
{
i++;
printf("%d\t",year);
if (i%3==0) printf("\n");
}
}
}
编写程序打印所有的“水仙花数”。“水仙花数”指一个三位数,其各位数字立方和等于该数本身,例如153是一个“水仙花数”,因为 153=1×1×1+3×3×3+5×5×5。
#include
void main()
{
int i,j,k,n;
printf("result is:");
for(n=100;n<1000;n++)
{
i=n/100;
j=(n-i*100)/10;
k=n%10;
if(n==i*i*i+j*j*j+k*k*k)
printf("%d ",n);
}
printf("\n");
}
编写一个程序,输入一个3位数的正整数,然后反向输出对应的数。如:123,则输出321。
#include
void main()
{
int i,s=0,j;
scanf("%d",&i);
if(i>=100&&i<=999)
{
j=i%10;
s=s+j;
j=(i-j)/10%10;
s=s*10+j;
j=i/100;
s=s*10+j;
printf("the inverse number is %d",s);
}
else
printf("input erroe!");
}
将十个整数输入数组,求出其平均值并输出。
#include
void main()
{
int a[10],i;
float ave;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=1;i<10;i++)
ave=ave+a[i];
ave=ave/10.0;
printf("ave=%f",ave);
}
从键盘输入10名学生的C语言成绩存入一维数组内,编写程序计算10名学生的最高分、平均分和及格人数。
#include
void main()
{
int i,score[10],max,min;
float ave;
for(i=0;i<10;i++)
scanf("%d",&score[i]);
max=score[0];
min=score[0];
ave=score[0];
for(i=1;i<10;i++)
{
if(score[i]>max)
max=score[i];
if(score[i]
void main()
{
char ch;
ch=getchar();
if(ch>='0'&&ch<='9')
printf("a numerical character");
else
printf("other character");
}
利用函数将给定的3×3二维数组转置。
#include "stdio.h"
void convert(int array[3][3])
{
int i,j,k;
for(i=0;i<3;i++)
for(j=i+1;j<3;j++)
{
k=array[i][j];
array[i][j]=array[j][i];
array[j][i]=k;
}
}
void main()
{
int i,j;
int a[3][3]={1,2,3,4,5,6,7,8,9};
printf("转换前:\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
printf("\t%d",a[i][j]);
printf("\n");
}
convert(a);
printf("\n转换后:\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
printf("\t%d",a[i][j]);
printf("\n");
}
}
编程输入a、b、c的值后,输出一元二次方程ax2+bx+c=0的解。
#include
#include
void main( )
{
float a, b, c,d, x1, x2;
printf("input a,b,c: ");
scanf("%f%f%f", &a, &b, &c);
d = sqrt(b * b - 4 * a *c);
x1 = (-b + d) / (2 * a);
x2 = (-b - d) / (2 * a);
printf("x1 = %.2f x2 = %.2f\n", x1, x2);
}
从键盘上输入任意两个数和一个运算符(+、-、*、/),根据输入的运算符对两个数计算,并输出结果。
#include
void main()
{
float a, b;
int tag = 0;
char ch;
float result;
printf("input two number: ");
scanf("%f%f", &a, &b);
fflush(stdin);
printf("input arithmetic lable(+ - * /): ");
scanf("%c", &ch);
switch(ch)
{
case '+': result = a + b; break;
case '-': result = a - b; break;
case '*': result = a * b; break;
case '/': if (!b)
{
printf("divisor is zero!\n");
tag = 1;
}
else
result = a / b;
break;
default: printf("illegal arithmetic lable\n");
tag = 1;
}
if (!tag)
printf("%.2f %c %.2f = %.2f\n", a, ch, b, result);
}
有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
#include "stdio.h"
void main()
{
int n,t,number=20;
float a=2,b=1,s=0;
for(n=1;n<=number;n++)
{
s=s+a/b;
t=a;a=a+b;b=t;
}
printf("sum is %9.6f\n",s);
}
使用循环结构编写程序,打印出如下图案
*
***
*****
#include "stdio.h"
void main()
{
int i,j,k;
for(i=1;i<=3;i++)
{
for(j=1;j<=3-i;j++)
printf(" ");
for(k=1;k<=2*i-1;k++)
printf("*");
printf("\n");
}
}
用冒泡排序法将10个整数由大到小排序。
#include
void main( )
{
int a[10], i, j, t;
printf ("input %d numbers: \n", 10);
for (i = 0; i < 10; i++)
scanf ("%d", &a[i]);
for (i = 0; i < 9; i++)
for (j = 0; j < 9 - i; j++)
if (a[j] < a[j+1])
{
t = a[j];
a[j] = a[j+1];
a[j+1] = t;
}
printf ("the sorted numbers:\n");
for (i = 0; i < 10; i++)
printf ("%d ", a[i]);
}
输入任意正整数,编程判断该数是否为回文数(回文数是指从左到右读与从右到左读一样,如12321)。
#include
void main( )
{
int n, m = 0, s, r;
printf ("Input data is: ");
scanf ("%d", &n);
s = n;
while (s != 0)
{
r = s % 10;
m = 10 * m + r;
s = s / 10;
}
if (m == n)
printf ("yes\n");
else
printf ("no\n");
}
输入一字符串,检查是否回文 (回文是指正反序相同,如,LeveL),若是则输出“Yes”,否则输出“No”。
#include
#include
void main()
{
int i,j,tag=0;
char ch[50];
printf("Please input a string:");
scanf("%s",ch);
j=strlen(ch);
for (i=0;i
void main()
{
int i;
for(i=10;i<1000;i++)
if (i%2==0&&i%3==0&&i%7==0)
printf("%d,", i);
}
编写程序在屏幕上显示如下图形:
1 2 3 4 5
5 1 2 3 4
4 5 1 2 3
3 4 5 1 2
2 3 4 5 1
#include
#include
void main()
{
int i,j;
for (i=0;i<5;i++)
{
for(j=1;j<=5;j++)
printf("%3d",(6-i+j)%6);
printf("\n");
}
}
编写猜数游戏,程序给定某个整数,从键盘上反复输入数据进行猜测。如果未猜中,程序提示输入过大或者过小;如果猜中,则输出猜的次数,最多允许猜10次。
#include
void main()
{
int x=58,t=0,a,flag=0;
do
{
printf("请输入您猜的数:");
scanf("%d",&a);
t++;
if(a==x)
{
flag=1;
printf("您猜对了!总共猜了%d次。\n",t);
break ;
}
else if(a>x)
printf("您猜的数大了\n");
else
printf("您猜的数小了\n");
}while(t<10);
if(flag==0)printf("次数已到。游戏结束!");
}
将十个实型数输入数组(float n[10];)逆序存放后再输出。
#include
void main()
{
int i,j;
float n[10], t;
for(i=0;i<10;i++)
scanf("%f",&n[i]);
for(i=0,j=9;i
#define N 10
void main()
{
int i,M;
char a[N], t;
for(i=0;i
#include
void main ( )
{
char str[80],t;
int i, n;
printf("input a string:");
gets(str);
for (i=0,n=strlen(str)-1; i
#include
void main()
{
char str[3][80],c;
int e[3]={0},x[3]={0},d[3]={0},s[3]={0},o[3]={0};
int i,j;
for(i=0;i<3;i++)
gets(str[i]);
for(i=0;i<3;i++)
for(j=0;str[i][j]!='\0';j++)
{
c=str[i][j];
if(c>='A'&&c<='Z')e[i]++;
else if(c>='a'&&c<='z')x[i]++;
else if(c>='0'&&c<='9')d[i]++;
else if(c==' ')s[i]++;
else o[i]++;
}
for(i=0;i<3;i++)
printf("第%行:大写字母有%d个,小写字母有%d个,数字有%d个,空格有%d个,其他字符有%d个。\n ",i,e[i],x[i],d[i],s[i],o[i]);
}
求
#include
void main()
{
int i,sum1=0,sum2=0;
double sum3;
for(i=1;i<=100;i++)
sum1+=i;
for(i=1;i<=50;i++)
sum2+=i*i;
for(i=1;i<=10;i++)
sum3+=1.0/i;
printf("The result is %.2f",sum1+sum2+sum3);
}
设计程序:定义可以存储1000个整数的数组;在该数组中依次存入1到1000;在屏幕上打印出数组中所有17的倍数。(10’)
#include
void main()
{
int i,a[1000];
for ( i=0;i<1000;i++)
a[i] = i+1;
for ( i=0;i<1000;i++)
if (i%17 == 0) printf("%d\n",a[i]);
}
写出一个函数,求n! .(n! = 1*2*3*………*n)
#include
int fact(int n)
{
if (n==0)
return 1;
return n*fact(n-1);
}
void main()
{
printf("%d",fact(10));
}
从键盘上输入若干学生成绩(成绩在0~100之间),计算平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。
或者题目为:使用一维数组计算学生的平均成绩。用输入负数结束输入。
#include "stdio.h"
void main( )
{
int score[30],NumMax=30;
int i,num=0,sum=0;
double average;
printf("input the scores please:\n");
for(i=0;i
void main()
{
int a[3][3],sum=0;
int i,j;
printf("请输入一个三行三列的整数矩阵:\n");
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
/*读入二维数组a*/
for(i=0;i<3;i++)
sum=sum+a[i][i];
/*将主对角线的元素累加到sum中*/
printf("该矩阵住对角线元素的和是:%d",sum);
printf("\n");
}
写一个函数is_prime,判断整数n是否素数。如果n是素数,则返回1;如果n不是素数,则返回0。
或者:设计一个函数,用来判断一个整数是否为素数。
或者:输入一个整数n,请判断n是否是质数,如果是,打印 n是质数,否则打印 n不是质数。
答案都为以下代码:
#include
#include
int IsPrimer(int n)
{
int i;
if(n<=1)
return 0;
for(i=2;i<=(int)sqrt(n);i++)
{
if(n%i==0)
return 0;
}
return 1;
}
void main()
{
int i;
scanf("%d",&i);
if(IsPrimer(i))
printf("这是素数\n");
else
printf("这不是素数\n");
}
设计一个函数,用来判断一个整数是否为素数,并在main()函数中调用该函数,在屏幕上打印出100以内的所有素数。
#include
#include
int IsPrimer(int n)
{
int i;
if(n<=1)
return 0;
for(i=2;i<=(int)sqrt(n);i++)
{
if(n%i==0)
return 0;
}
return 1;
}
void main()
{
int i;
for(i=0;i<=100;i++)
if(IsPrimer(i))
printf("%d\n", i);
}
找出101~200中所有的素数。
#include
#include
int IsPrimer(int n)
{
int i;
if(n<=1)
return 0;
for(i=2;i<=(int)sqrt(n);i++)
{
if(n%i==0)
return 0;
}
return 1;
}
void main()
{
int i;
for(i=101;i<=200;i++)
if(IsPrimer(i))
printf("%d\n",i);
}
从键盘上输入一个字符串,将其中的小写字母转换成大写字母,大写字母转换成小写字母,输入字符串以“!”结束,将转换后的字符串输出到电脑屏幕。
#include
void main()
{
int i;
char str[80];
printf("Input a string(end with !):");
gets(str);
for(i=0; str[i]!='!'; i++)
if(str[i]>='a' && str[i]<='z')
str[i]-=32;
else if(str[i]>='A' && str[i]<='Z')
str[i]+=32;
puts(str);
}
从键盘输入任意一串字符串,程序输出同样的一串字符,要求输出字符串中大小写相互转化,其他符号不变。如输入“a123BxC”,则输出“A123bXc”
#include
void main()
{
int i;
char s[80];
scanf("%s", s);
for (i=0; s[i]; i++)
{
if (s[i]>='a' && s[i]<='z')
s[i]-=32;
if (s[i]>='A' && s[i]<='Z')
s[i]+=32;
}
printf("%s", s);
}
输入三个整数a, b, c,请按从小到大的顺序输出这三个数
#include
void main()
{
int a, b, c, t;
scanf("%d%d%d", &a, &b, &c);
if (a > b)
{
t = a;
a = b;
b = t;
}
if (b > c)
{
t = b;
b = c;
c = t;
}
if (a > b)
{
t = a;
a = b;
b = t;
}
printf("%d, %d, %d", a, b, c);
}
编程,先输入n,再输入n个实数并分别统计正数的和、负数的和,然后输出统计结果。
#include
void main()
{
int i,n;
float x,s1=0,s2=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%f",&x);
if(x>0)
s1++;
if(x<0)
s2++;
}
printf("%f %f\n",s1,s2);
}
输入a1、a2、...、a15后,计算下列
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
达式的值并输出。
#include
void main()
{
float a[15],y;
int i;
for(i=0;i<15;i++)
scanf("%f",a+i);
y=a[14];
for(i=13;i>=0;i--)
y=1+a[i]/(1+y);
printf("%f\n",y);
}
输入一个字符串,计算其中空格的个数。
#include
void main ( )
{
char str[80];
int i, num=0;
char c;
printf("Input a string:\n");
gets(str);
for (i = 0; (c = str[i]) != '\0'; i++)
if (c == ' ') //判断c是否为空格
num++;
printf("There are %d space.\n", num);
}
采用二维数组输入多个学生五门课的成绩,分别求出每个学生的平均成绩和每门课的平均成绩。
#include "stdio.h"
#define N 3
void main ( )
{
int i,j;
float a[N][5],v[5],w[N],s;
for(i=0;i
void main ( )
{
char str[80];
int i, num=0, space=1;
char c;
printf("Input a string:\n");
gets (str);
for (i = 0; (c = str[i]) != '\0'; i++)
if (c == ' ') //判断c是否为空格
space = 1;
else if (space == 1)
{
space = 0;
num++;
}
printf ("There are %d words.\n", num);
}
_1234567890.unknown
_1234567891.unknown