资源描述
一、在指定得C文件内编写程序。程序得功能就是:从键盘输入10个同学得成绩,按降序输出成绩。(输入输出数据格式均为整型)
按指定格式输入输出
例如:
输入:63 72 56 98 66 83 68 40 95 78
输出:排序结果为:98 95 83 78 72 68 66 63 56 40
#include <stdio、h>
void main
{
int a[10],i,j,t;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<9;i++)
for(j=0;j<9i;j++)
if(a[j]<a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
for(i=0;i<10;i++)
printf("%d ",a[i]);
}
二、在指定得C文件内编写程序。程序得功能就是:从键盘上循环输入某课程得平时、实习、测验与期末成绩,按10%,20%,20%,50%得比例计算总评成绩。(输出宽度为5,小数点保留2位)
按指定格式输入输出
例如:
输入:86 78 85 90
输出: sum=86、20
#include "stdio、h"
void main
{int a[4],i;
float sum=0、0;
for(i=0;i<4;i++)
scanf("%d",&a[i]);
sum=0、1*a[0]+0、2*a[1]+0、2*a[2]+0、5*a[3];
printf("sum=%5、2f",sum);
}
三、编写函数fun:求1~n得累加与,并在main函数中输出。
按指定格式输出
输入:100
输出:sum=5050
#include<stdio、h>
long int fun(int n)
{ int i,sum=0;
for(i=1;i<=n;i++)
sum+=i;
return(sum);
}
void main
{
int i;
printf("please input a number:");
scanf("%d",&i);
printf("sum=%ld\n",fun(i));
}
四、给定程序中,程序得功能就是:结构数组中存有三人得姓名与年龄,以下程序输出三人中最年长者得姓名与年龄,请填空。
例如输出:zhangping 20
#include<stdio、h>
struct man
{ char name[20];
int age;
}person[]={"liming",18,"wanghua",19,"zhangping",20};
void main
{ struct man *p,*q;
int old=0;
/****************************/
p=person;
/****************************/
for(;p<person+3;p++)
/****************************/
if(old<p>age)
{ q=p;old=p>age;}
/****************************/
printf("%s %d\n",q>name,q>age);
/****************************/
}
五、在指定得C文件内编写程序。程序得功能就是:从键盘输入10个同学得成绩,输出低于平均分得成绩,找出最高分并输出,找出最低分并输出。(输入输出数据格式均为整型)
按指定格式输入输出
例如:
输入:63 72 56 98 66 83 68 40 95 78
输出:低于平均分得成绩:63 56 66 68 40
输出:max=98,min=40
#include <stdio、h>
void main
{
int a[10],i,max,min;
float sum=0、0,ave;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++)
sum+=a[i];
ave=sum/10;
min=a[0];
max=a[0];
for(i=0;i<10;i++)
{
if(min>a[i]) min=a[i];
if(max<a[i]) max=a[i];
}
printf("低于平均分得成绩:");
for(i=0;i<10;i++)
if(a[i]<ave)
printf("%d ",a[i]);
printf("\nmax=%d,min=%d",max,min);
}
六、在指定得C文件内编写程序。程序得功能就是:从键盘上给一个5*5整型数组输入值,找出对角线上其值最得元素。
按指定格式输入输出
例如:
1 2 3 4 5
2 4 6 8 10
3 6 9 12 15
4 8 12 16 26
5 10 15 20 25
输出:max=25
#include <stdio、h>
void main
{
int a[5][5],i,j,max;
for(i=0;i<5;i++)
for(j=0;j<5;j++)
scanf("%d",&a[i][j]);
max=a[0][0];
for(i=0;i<5;i++)
if(max<a[i][i]) max=a[i][i];
for(i=0;i<5;i++)
if(max<a[i][4i]) max=a[i][4i];
printf("max=%d",max);
}
七、编写函数fun:从键盘输入一个大于3得整数,调用函数fun判断其就是否素数,然后在main函数中输出相应得结论信息。
说明:素数就是仅能被1与自身整除得数
输入:7
输出:7 is a prime、
输入:8
输出:8 is not a prime、
#include <stdio、h>
int fun(int n)
{
/**********Program**********/
int i,flag;
if(n<2)
flag=0;
else
for(i=2,flag=1;i<=n/2&&flag;i++)
if(n%i==0) flag=0;
return(flag);
/********** End **********/
}
main
{
int m,flag;
printf("input an integer:");
scanf("%d",&m);
flag=fun(m);
if(flag)
printf("%d is a prime、\n",m);
else
printf("%d is not a prime、\n",m);
}
八、给定程序中,程序得功能就是:统计子串sub在母串中出现得次数,请填空。
例如输入:abcabsdefabc
abc
输出:2
#include<stdio、h>
#include<string、h>
int count(char *p,char *q)
{ int m,n,k,num=0;
for(m=0;p[m];m++)
for(n=m,k=0;q[k]==p[n];k++,n++)
if(q[k+1]=='\0')
{ num++;break; }
return num;
}
void main
{ char s[80],sub[80];
gets(s);
gets(sub);
printf("%d\n",count(s,sub));
}
九、编写函数fun:程序得功能就是:调用函数fun从字符串s中删除指定得字符c。然后在main函数中输出删除指定字符后得字符串。
例如:从指定得字符串中"turbo c and borland c++ "中删除指定得字符'a'
输出:str=turbo c nd borlnd c++
#include <stdio、h>
fun(char s[],char c)
{/**********Program**********/
int i,j;
for(i=j=0;s[i]!='\0';i++)
if(s[i]!=c)
s[j++]=s[i];
s[j]='\0';
/********** End **********/
}
main
{static char str[]="turbo c and borland c++";
char c='a';
fun(str,c);
printf("str=%s\n",str);
}
十、给定程序中,程序得功能就是:计算一个英文句子中最长单词得长度(字母个数)max。假设该英文句子中只含有字母与空格,在空格之间连续得字母串称为单词,句子以'、'结束,请填空。
本例输出:max=5
#include<stdio、h>
main
{ static char s[]={"you make me happy when days are grey、"},*t;
int max=0,len=0;
t=s;
while(*t!='、')
{
while(((*t<='Z')&&(*t>='A'))||((*t<='z')&&(*t>='a')))
{ len++;
t++;
}
if(max<len)
max=len;
len=0;
t++;
}
printf("max=%d",max);
}
十一、在指定得C文件内编写程序。程序得功能就是:输入2个字符串,输出2个字符串中较短串得长度。
按指定格式输入输出
例如:
输入:hello
abcdefg
输出:5
#include <stdio、h>
#include <string、h>
void main
{
char a[999],b[999];
gets(a);
gets(b);
if(strlen(a)<strlen(b))
printf("%d",strlen(a));
else
printf("%d",strlen(b));
}
十二、给定程序中,程序得功能就是:将给定得字符串、整数、浮点数写入文件f1、txt中,再用字符方式从此文本文件中逐个读入并显示在屏幕上请填空。 (正确答案未知)
#include<stdio、h>
void main
{ char s[10]="Hello!";
int a=12345;
double f=98、76;
FILE *fp;
char ch;
/***************************************/
fp=&ch;
/***************************************/
fprintf(fp,"%s%d%f",s,a,f);
fclose(fp);
fp=fopen("f1、txt;","r");
printf("\nThe result:");
/***************************************/
while(!feof(fp))
/***************************************/
{
ch=fgetc(fp);
(3)
}
/***************************************/
putchar('\n');
fclose(fp);
}
十三、给定程序中,程序得功能就是:比较两个字符串就是否相等,若相等则返回1,否则返回0,请填空并将程序补充完整。
例如输入:abcdef
abcdef
输出:两个字符串相等
输入:abcdefefg
abcdef
输出:两个字符串不相等
#include<stdio、h>
#include<string、h>
int fun(char *s,char *t)
{ int m=0;
while(*(s+m)==*(t+m)&&*(s+m)!='\0')
m++;
return(m==strlen(s)&&m==strlen(t));
}
void main
{
/******************************/
char a[999],b[999];
int t;
gets(a);
gets(b);
t=fun(a,b);
if(t)
printf("两个字符串相等");
else
printf("两个字符串不相等");
/******************************/
}
十四、程序得功能就是:反向输出一个链表,请填空。(答案未知)
例如输入:10 20 30 40 50
输出:50 40 30 20 10
#include<stdio、h>
struct node
{ int data;
struct node *next;
};
void main
{ struct node *ptr,*head,*tail;
int num,i;
/**************************************************/
tail=___(1)___;
/**************************************************/
tail>next=NULL;
ptr=tail;
printf("\nplease input 5 data:\n");
for(i=0;i<=4;i++)
{
scanf("%d",&num);
ptr>data=num;
head=(struct node *)malloc(sizeof(struct node));
/**************************************************/
head>next=(2);
/**************************************************/
ptr=head;
}
/**************************************************/
ptr=___(3)___;
/**************************************************/
while(ptr!=NULL)
{ printf("%d ",ptr>data);
ptr=ptr>next;
}
}
十五、编写函数fun:从键盘为一维整型数组输入10个整数,调用fun函数找出其中最小得数,并在main函数中输出。
例如输入:63 72 56 98 66 83 68 40 95 78
输出:40
#include "stdio、h"
int fun(int x[],int n)
{
/**********Program**********/
int min=x[0],i;
for(i=1;i<n;i++)
if(x[i]<min)
min=x[i];
return(min);
/********** End **********/
}
main
{
int a[10],i,min;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++)
printf("%3d",a[i]);
printf("\n");
min=fun(a,10);
printf("%d\n",min);
}
十六、程序得功能就是:从键盘输入姓名,存入文件data02、txt中。如果文件该姓名已存在,
则显示文件已存在得相应信息;再次输入其她姓名,若文件中没有该姓名,则将其存入文件中,请填空。
(答案未知)
#include<stdio、h>
#include<stdlib、h>
#include<string、h>
void main
{
FILE *fp;
int flag=0;
char name[20],data[20];
/*******************************************/
if((fp=fopen("data02、txt",___(1)___))=NULL)
/*******************************************/
{ printf("Cannot open file、\n");
exit(0);
}
do
{
printf("Enter name:");
/*******************************************/
___(2)___;
/*******************************************/
if(strlen(name)==0)
break;
else strcat(name,"\n");
rewind(fp);
flag=1;
while(flag&&((fgets(data,20,fp)!=NULL)))
if(strcmp(data,name)==0)
flag=0;
if(flag)
/*******************************************/
___(3)___;
/*******************************************/
else
printf("\tThis name has been existed!\n");
}while(ferror(fp)==0);
fclose(fp);
}
展开阅读全文