1.已有变量定义和函数调用语句:int a,b; b=sum(a);函数sum()用以和数作为函数值返回。若a的值为10,经函数sum的计算后,b的值是55。请编写sum函数。
sum(int n)
{            }[答案]
sum(int n)
{
int i, k = 0;
for (i=0; i<=n; i++)
k += i;
return k;
}
2.a是一个2×4的整型数组,且各元素均已赋值。函数max_value可求出其中的最大元素max,并将此值返回主调函数。今有函数调用语句max=max_value(a);请编写max_value函数。
max_value(int arr[][4])
{                          }
[答案]
max(int arr[][4])
{
int i, j, max;
max = arr[0][0];
for (i=0; i<2; i++)
for (j=0; j<4; j++)
if (arr[i][j] > max)
max = arr[i][j];
return(max);
}
#include<stdio.h>
long fun(int k)
{    if(k>0)
return (k*fun(k-1));
else  if(k==0)
return l;
}
main()
{    int k;
scanf("%d",&k);
clrscr();
printf("%d!=%ld",k,fun(k));
}
3.每个苹果0.8元,第一天买2个苹果,第二天开始,每天买前一天的2倍,直至购买的苹果个数达到不超过100的最大值。编写程序求每天平均花多少钱?
[答案]
#include <stdio.h>
main()
{
int day = 0, buy = 2;
float sum = 0.0, ave;
do
{  sum += 0.8 * buy;
day++;
buy *= 2;
}
while (buy <= 100);
ave = sum / day;
printf(“%f”, ave);
}
4.试编程序,求一个整数任意次方的最后三位数。即求 的最后三位数,要求x,y从键盘输入。
[答案]
#include <stdio.h>
main()
{
int i, x, y, last = 1;
printf(“Input x and y:”);
scanf(“%d%d”, &x, &y);
for (i=1; i<=y; i++)
last = last * x ;
printf(“\nThe last 3 digits of %d * * %d is: %d\n”, x, y, last%1000);
}
5.编写程序,求1-3+5-7+….-99+101之值。
[答案]
main()
{  int i, s=0;
for (i=1;i<=101;i+=2)
if((i-1)%4==0) s+=i; else s-=i;
printf(“%d”,s);
}
6.出1000以内所有水仙花数。(各位数字的立方和等于该数本身,如1,153,407等数)
[答案]
#include<math.h>
main()
{  int m,i,a,b,c;
i=100;
while(i<=999);
{  a=i/100;
b=i/10%10;
c=i%10;
if((pow(a,3)+pow(b,3)+pow(c,3))==i)
printf("%d\n",i);
i++
}
}
7.本程序演示猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
[答案]
#include "stdio.h"
main()
{ int day,x1,x2;
day=9;
x2=1;
while(day)
{    x1=(x2+1)*2;/*第一天的桃子数是第2天桃子数加1后的2倍*/
x2=x1;
day--;
}
printf("the total is %d\n",x1);
}
8.编制求矩阵3×3的转置矩阵(行变列列变行)的程序。
提示:已知a[3][3],转置后的结果存放在b[3][3]; 则b[j][i]=a[i][j];
[答案]
#inculde<sdtio.h>
int  main()
{int a[3] [3]={1,2,3,4,5,6,7,8,9},b[3][3],i,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
  b[j][i]=a[i][j];
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
  printf(“%d”,b[i][j]);
printf(“\n”);
}
putchar函数
}
9.编写程序,完成随机产生20个  100以内整数输出,并同时保存于文件int1.dat中。
[答案]
#include<math.h>
#include<stdio.h>
main()
matlab手机版免费下载
int x,i;
FILE *fp;
fp=fopen(“int1.dat”,”wb”);
for(i=0;i<20;i++)
{   
x=rand()%100;
printf(“%5d”,x);
fprintf(fp,“%d”,x);
}
flose(fp);
}
10.输入一行文字,出其中大写字母、小写字母、空格、数字以及其他字符有多少个?
[答案]
#include “stdio.h”
main()
{
static  char  x[50];
char  *p=x;thread detach
int  big=0, little=0, digiter=0,other=0;
gets(p);
while(*p!=’\0’)
{
if(*p>=’A’&&*p<=’Z’)  big++;
else      if(*p>=’a’&&*p<=’z’)  little++;
else      if (*p>=’0’&&*p<=’9’)  digiter++;
else  other++;
p++;
}
printf(“big=%d,little=%d,digiter=%d,other=%d”,big,little,digiter,other);
}
11.编写摄氏温度、华氏温度转换程序。要求:从键盘输入一个摄氏温度,屏幕就显示对应的华氏温度,输出取两位小数。转换公式:F=(C+32)×9/5
[答案]
解:用顺序结构即可完成题目要求的任务,程序如下:
#include<stdio.h>
main()
{ float c,f;
printf("Input C:");
scanf("%f",&c);
f= (c+32.0)*9.0/5.0;
printf("F=%.2f \n ",f);
}
12.编写程序,从键盘上输入一行字符,并依次显示在屏幕上。
[答案]
解:用回车控制输入结束,用循环结构显示输入缓冲区的字符,程序如下:
#include<stdio.h>
main()
{ char ch;
while ((ch=getchar())!='\n')
printf("%c",ch);
}
13编写程序,从键盘上输入两个电阻的值,求它们并联和串联的电阻值,输出结果保留两位小数。
提示: 并联和串联的电阻值计算公式如下:
并联电阻RP=    串联电阻RS=R1+R2
[答案]
#include<stdio.h>
main()
{ float r1,r2,rp,rs;
printf("Input R1 and R2:");
scanf("%f %f",&r1,&r2);
rs= (r1+r2);
rp= rs/(r1*r2);
printf("RP=%.2f  RS=%.2f ",rp,rs);
}
14.编写程序,从键盘输入一个字符,求出与该字符前后相邻的两个字符,按从小到大的顺序输出这三个字符的ASCII码。
[答案]
解:ASCII码的大小关系与字符的大小关系一致,且相邻字符的ASCII码编码连续。用顺序结构即可实现,程序如下:
#include<stdio.h>
main()
{ char ch;
ch=getchar();
printf("%c  ASCII code is %d\n",ch-1,ch-1);
printf("%c  ASCII code is %d\n",ch,ch);
printf("%c  ASCII code is %d\n",ch+1,ch+1);
}
15.编程计算1!+2!+3!+•••+n!的程序。
[答案]
#include <stdio.h>
main()
{ long s=0,t=1;
int i,n;
printf("Enter integer n:");
scanf("%d",&n);
for (i=1;i<=n;i++)
{  t*=i;
s+=t;
}
printf("s=%ld\n",s);
}
广告联盟赚钱是真的吗
16. 编写程序,从键盘输入梯形的上下底边长度和高,计算梯形的面积。
[答案]
解:用顺序结构即可完成题目要求的任务,梯形的面积=  (a+b)*h,程序如下:
#include<stdio.h>
main()
{ float a,b,h,s;
printf("Input a,b,h:");
scanf("%f%f%f",&a,&b,&h);
s= (a+b)*h/2.0;
printf("s=%.2f \n",s);
}
17.编程序,用getchar函数读入两个字符给c1、c2,然后分别用putchar函数和printf函数输出这两个字符。
[答案]
解:
#include<stdio.h>
laravel框架手册main()
{
sceptic
char c1, c2;
printf(“请输入两个字符给c1和c2:\n”);
c1=getchar();
c2=getchar();
printf(“用putchar函数输出结果为:\n”) ;
putchar(c1);

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。