当前位置:首页 » 编程语言 » 眉山c语言少儿编程考题
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

眉山c语言少儿编程考题

发布时间: 2022-07-14 00:04:40

1. c语言编程比赛试题

#include <stdio.h>
#include <stdlib.h>
#include<string.h>

int main()
{
int n,i,j;
char p[10000];
while(scanf("%d",&n)!=EOF)
{
getchar();
for(i=0;i<n;i++)
{
gets(p);
putchar(p[0]);
for(j=1;j<strlen(p);j++)
printf(" %c",p[j]);
printf("\n");
}
}
}

2. c语言编程题

你需要定义一个结构作存储歌手信息比如:

typedefstructsinger
{
intid;//歌手编号
charname[10];//歌手姓名
。。。。。。。。//什么地址啊,联系电话啊等等
intscore;//歌手最终得分
structsinger*next;//链表指针,如果你是用结构数组,这个成员可以不用

};SIR

n个歌手可以用结构链表也可以用结构数组。

m个裁判直接用数组。

打分可以用循环取随机数rand()%10+1(记得初始化srand(time(NULL)))。

打分去最高最低分,和最终排名,都用冒泡排序就可以了。

至于结果保存,如果只是模拟,存在结构变量就行。如果要仿真,写文件读取,写入文本保存。或建数据库表,保存数据库中。

3. C语言编程题

//楼上的,重量和金额怎么能是整形的,还有输入顺序应切合实际,哈哈
/*
//if-else写法
#include<stdio.h>
void main()
{
int grade; //等级
float weight; //重量
float money; //付款
float pay; //应付款
printf("请输入购买信息:\n");
printf("苹果等级:");
scanf("%d",&grade);
printf("苹果重量:");
scanf("%f",&weight);
//数据验证
if(weight<=0 || grade<1 || grade>4)
{
printf("Data Error!\n");
return;
}
//计算应付款
if(grade==1) //一级苹果
pay=5.5*weight;
else if(grade==2) //二级苹果
pay=4.2*weight;
else if(grade==3) //三级苹果
pay=3*weight;
else //四级苹果
pay=2.5*weight;

//显示结果
printf("\n你所购买的是%d级苹果:\n",grade);
printf("实际重量:%g\n",weight);
printf("应付金额:%g\n",pay);

printf("交付金额:");
scanf("%f",&money);
printf("\n应找零钱:%g\n",money-pay);
printf("谢谢惠顾,再见!\n");
}
*/
/*
//switch写法
#include<stdio.h>
void main()
{
int grade; //等级
float weight; //重量
float money; //付款
float pay; //应付款
printf("请输入购买信息:\n");
printf("苹果等级:");
scanf("%d",&grade);
printf("苹果重量:");
scanf("%f",&weight);
//数据验证
if(weight<=0 || grade<1 || grade>4)
{
printf("Data Error!\n");
return;
}
//计算应付款
switch(grade)
{
case 1: //一级苹果
pay=5.5*weight;break;
case 2: //二级苹果
pay=4.2*weight;break;
case 3: //三级苹果
pay=3*weight;break;
default: //四级苹果
pay=2.5*weight;
}

//显示结果
printf("\n你所购买的是%d级苹果:\n",grade);
printf("实际重量:%g\n",weight);
printf("应付金额:%g\n",pay);

printf("交付金额:");
scanf("%f",&money);
printf("\n应找零钱:%g\n",money-pay);
printf("谢谢惠顾,再见!\n");
}
*/
/*
//字符串题目
#include<stdio.h>
#include<string.h>
void main()
{
char s1[100],s2[100];
puts("请输入两个字符串:");
gets(s1);
gets(s2);
strcat(s1,s2);
printf("连接后的结果:%s\n",s1);
int i,j;
char t;
i=0;
j=strlen(s1)-1;
while(i<=j)
{
t=s1[i];
s1[i]=s1[j];
s1[j]=t;
i++;
j--;
}
printf("反向后的结果:%s\n",s1);
printf("连接后的长度:%d\n",strlen(s1));
}
*/
//字符统计
#include<stdio.h>
void charc(char s[100])
{
int letters=0,numbers=0,spaces=0,others=0;
int i=0;
while(s[i]!='\0')
{
if(s[i]>='a' && s[i]<='z' || s[i]>='A' && s[i]<='Z')
letters++;
else if(s[i]>='0' && s[i]<='9')
numbers++;
else if(s[i]==' ')
spaces++;
else
others++;
i++;
}
printf("\n字母:%d个,数字:%d个,空格:%d个,其他:%d个\n",letters,numbers,spaces,others);
}
void main()
{
char str[100];
puts("请输入字符串:");
gets(str);
charc(str);
}

4. C语言 编程考试题,求解答。

这些都是一些很简单的题目。我现在没有事做,就帮你写写吧。等着,我在编。

这是第二题的程序:

#include<stdio.h>
voidmain()
{
intyear;

printf("请输入年份:");
scanf("%d",&year);
if((year%400==0)||(year%4==0&&year%100!=0))
printf("%d年是闰年。",year);
else
printf("%d年不是闰年。",year);
}

这是第三题的程序:

#include<stdio.h>
intmax(inta,intb)
{
intt;
t=a<b?a:b;
returnt;
}
floatarea(intr)
{
returnr*r*3.1415926;
}
voidmain()
{
inta,b;
intr;
printf("请输入2个数值:");
scanf("%d%d",&a,&b);
r=max(a,b);
printf("半径为%d的园的面积为%f。",r,area(r));
return;
}

以下是第四题的程序:

#include<stdio.h>
intreverse(inta)
{
intsum=0;
while(a>0)
{
sum=sum*10+a%10;
a/=10;
}
returnsum;
}
voidmain()
{
inta;

printf("请输入数值:");
scanf("%d",&a);
printf("数值%d逆序输出为%d。",a,reverse(a));
return;
}

以下是第五题的程序:

#include<stdio.h>

voidmain()
{
inta[10]={0,1,2,3,4,5,6,7,8,9};
intsum=0;
inti;

for(i=0;i<10;i++)
sum+=a[i];
printf("用数组计算的结果为%d ",sum);

sum=0;
for(i=0;i<10;i++)
sum+=*(a+i);
printf("用指针计算的结果为%d ",sum);
return;
}

以下是第六题的程序:

#include<stdio.h>
#include<string.h>

voidmain()
{
chara[20];
inti,j;
printf("Pleaseinput:");
scanf("%s",a);
j=strlen(a);
for(i=0;i<j;i++)
if(a[i]>='a'&&a[i]<='z')
a[i]-=32;
printf("变成大写输出为:%s",a);
return;
}

以下是第七题的程序:

#include<stdio.h>
#include<string.h>

structComputer
{
charname[10];
intsum;
};
voidmain()
{
inti;
structComputerpc[3]={{"lenovo",0},{"fondon",0},{"dell",0}};
charbuff[10];

for(i=0;i<10;i++)
{
printf("请输入电脑的名字:");
scanf("%s",buff);
if(strcmp(pc[0].name,buff)==0)
pc[0].sum++;
elseif(strcmp(pc[1].name,buff)==0)
pc[1].sum++;
elseif(strcmp(pc[2].name,buff)==0)
pc[2].sum++;
else
printf("输入错误,此票作废! ");
}
for(i=0;i<3;i++)
printf("电脑%s的得票为%d. ",pc[i].name,pc[i].sum);
return;
}

全部写玩了,全部测试过,完全可以编译,没有问题。

满意请采纳,谢谢。

5. 几道简单的C语言编程题目!!~~求教高手

//输入两个正整数m和n,求其最大公约数和最小公倍数
#include <stdio.h>

void main()
{
int p,r,n,m,temp;
printf("请输入两个正整数n,m:");
scanf("%d,%d",&n,&m);

//把大数放在n中,小数放在m中
if(n<m)
{
temp=n;
n=m;
m=temp;
}

//先将n和m的乘积保存在p中,以便求最小公倍数时用
//求n和m的最大公约数
p=n*m;

//展转相除法,求最大公约数
while(m!=0)
{
r=n%m;
n=m;
m=r;
}

printf("它们的最大公约数是%d\n",n);
//最小公倍数=两数乘积/最大公约数
printf("它们的最小公倍数是%d\n",p/n);

}
//求1-1/3+1/5-1/7+…,直到某项的绝对值小于0.0001
#include<stdio.h>
void main()
{
float a=1,s=0;
int i=2,t;
while(a<=10000.0)
{
if((i%2)==0)
{
s+=1.0/a;
a=a+2.0;
i++;
}
else
{
s-=1.0/a;
a=a+2.0;
i++;
}
}
printf("%f\n",s);
}
//一球从100m高度自由落下,每次落地后反跳回原高度的一半,再落下.求它在第10次
//落地时,共经过多少m?第10次反弹多高?

#include <stdio.h>

void main()
{
float sn=100,hn=sn/2; //初始值
int n;
for(n=2;n<=10;n++)
{
sn=sn+2*hn; //累记路径长度
hn=hn/2; //反弹高度
}

printf("第10次落地时共经过%fm.\n",sn);
printf("第10次反弹%fm.\n",hn);
}
// 给出10个儿童的体重,要求计算平均体重并打印出低
于平均体重的数值。
#include<stdio.h>
void main()
{
float a[10],p,sum=0;
int i;
printf("请输入10个人的体重:\n");
for(i=0;i<10;i++)
{
scanf("%f",&a[i]);
sum+=a[i];
}
p=sum/10.0;
printf("10个人的平均体重是%3.2f:",p);
printf("低于平均体重的是:\n");
for(i=0;i<10;i++)
{
if(a[i]<p)
{
printf("%3.2f\n",a[i]);
}
}

}
第一个有点复杂~~~加点分嘛~~~
//主函数实现从键盘输入5个学生的5门功课的成绩,sum函数实现统计出每个学生的5门功课的总成绩,sort函数实现根据5个学生的总成绩用冒泡法进行排序,再逆序存放并输出。

#include<stdio.h>

#define N 5

void main(void)
{
int sum(int (*a)[N]);
void sort(int *y);

int a[N][N],he[N]={0};
int i,j,*p;

for(i=0;i<N;i++)
{
printf("Input the %dth student's scores:",i+1);
for(j=0;j<N;j++)
{
scanf("%d",&a[i][j]);
}

}

for(i=0;i<N;i++)
{
he[i]=sum(&a[i]);
}

printf("\n");
for(i=0;i<N;i++)
{
printf("%d ",he[i]);
}
p=he;
sort(p);
}

int sum(int (*a)[N])
{
int tmpsum=0;
int i;

for(i=0;i<N;i++)
{
tmpsum+=*(*a+i);
}
return tmpsum;
}

void sort(int y[N])
{
int j,i,tmp;
for(j=0;j<N-1;j++)
{
for(i=j+1;i<N;i++)
{
if(y[j]>y[i])
{
tmp=y[j];
y[j]=y[i];
y[i]=tmp;
}
}
}
for(j=0;j<N;j++)
{
printf(" %d",y[j]);
}
printf("\n\n");
for(j=0;j<N/2;j++)
{
tmp=y[j];
y[j]=y[N-j-1];
y[N-j-1]=tmp;
}
for(j=0;j<N;j++)
{
printf(" %d",y[j]);
}
}



6. C语言编程题目,急!满分,满分!

仅供参考!

#include <stdio.h>
#include <string.h>

#define STU_NUM 10//学生数
#define SCORE_NUM 4//每个学生的科目数

typedef struct /*定义结构体数组*/
{
char num[20]; /*学号*/
char name[20]; /*姓名*/
float score[SCORE_NUM]; /*成绩*/
float total;//总分
float average;//平均分
} Student;

Student stu[STU_NUM];

//输入学生信息
void input()
{
int i,j;

printf("请输入%d个学生的信息:\n",STU_NUM);
for(i=0;i<STU_NUM;i++)
{
printf("学号:");
scanf("%s",stu[i].num);
printf("姓名:");
scanf("%s",stu[i].name);
for(j=0;j<SCORE_NUM;j++)
{
printf("科目%d的成绩:",j+1);
scanf("%f",&stu[i].score[j]);
}
}
}

//输出学生信息
void output()
{
int i,j;

//打印表头
printf("学号\t姓名\t");
for(j=0;j<SCORE_NUM;j++)
{
printf("科目%d\t",j+1);
}
printf("总分\t平均分\n");

//打印所有学生信息
for(i=0;i<STU_NUM;i++)
{
printf("%s\t%s\t",stu[i].num,stu[i].name);
for(j=0;j<SCORE_NUM;j++)
{
printf("%3.2f\t",stu[i].score[j]);
}
printf("%3.2f\t%3.2f\n",stu[i].total,stu[i].average);
}
}

//计算总分和平均分
void process()
{
int i,j;

for(i=0;i<STU_NUM;i++)
{
stu[i].total=0;
for(j=0;j<SCORE_NUM;j++)
{
stu[i].total+=stu[i].score[j];
}
stu[i].average=stu[i].total/SCORE_NUM;
}
}

//排序并输出
void sort()
{
Student tStu;
int i,j;

for(i=0;i<STU_NUM;i++)
{
for(j=STU_NUM-1;j>i;j--)
{
if(stu[j].total>stu[j-1].total)
{
tStu=stu[j];
stu[j]=stu[i];
stu[i]=tStu;
}
}
}
}

void main()
{
input();
process();
sort();
output();
}

7. C语言编程题目 在线等待答案 做好了 追加90分

// Link.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include "math.h"
#include "stdlib.h"
typedef struct LinkList{
int data;
struct LinkList *next;
}LinkList;

void CreateLink(LinkList *&head,int n)
{
int i;
LinkList *p,*q;
head=(LinkList *)malloc(sizeof(LinkList));
if(head==NULL)
return;
q=head;
for(i=0;i<20;i++)
{

p=(LinkList*)malloc(sizeof(LinkList));
p->data=rand();
if(p==NULL)
{
return;
}
q->next=p;
q=p;

}
q->next=NULL;

}

void SplitLink(LinkList *L,LinkList * &L1,LinkList *&L2)
{
LinkList *head1=NULL,*head2=NULL,*p=NULL,*s=NULL,*t=NULL;
LinkList *q,*r;
if(L==NULL || L->next==NULL)
{
printf("linklist L is empty");
return;
}
p=L->next;
if((head1=(LinkList *)malloc(sizeof(LinkList)))==NULL)
return;
if((head2=(LinkList *)malloc(sizeof(LinkList)))==NULL)
return;
L1=q=head1;
L2=r=head2;
while(p!=NULL)
{
if(p->data%2==0)
{
if((s=(LinkList *)malloc(sizeof(LinkList)))==NULL)
return;
s->data=p->data;
q->next=s;
q=s;

}
else
{
if((s=(LinkList *)malloc(sizeof(LinkList)))==NULL)
return;
s->data=p->data;
r->next=s;
r=s;

}
p=p->next;
}
q->next=NULL;
r->next=NULL;

}
int main(int argc, char* argv[])
{
LinkList *head,*L1,*L2,*p;
CreateLink(head,20);
SplitLink(head,L1,L2);
printf("head:");
p=head->next;
while(p!=NULL)
{
printf("%d ",p->data);
p=p->next;

}
printf("\n");
printf("L1:");
p=L1->next;
while(p!=NULL)
{
printf("%d ",p->data);
p=p->next;

}
printf("\n");
printf("L2:");
p=L2->next;
while(p!=NULL)
{
printf("%d ",p->data);
p=p->next;

}
return 0;
}

8. c语言编程题目及答案

#include <stdio.h>
#include <math.h>
void main(void)
{
double a;

double b;

double c;/* 以上三个变量分别对应三边 */

double sin_c;/* c边对应角的正玄值 */

double cos_c;/*c边对应角的余玄值*/

double cos_a;

double area; /* 三角形的面积 */

printf("输入a,b,c:");

scanf("%lf, %lf, %lf", &a, &b, &c);

if(((a+b)>c) && (a-b)<c)
{
printf("三边能够成三角形\n.");

cos_c = (a*a + b*b -c*c)/(2*a*b);

cos_a = (b*b + c*c - a*a)/(2*b*c);

if ((cos_c > 0) && (cos_a >0))
{
printf("三角形是锐角三角形。\n");
}

else if ((cos_c < 0) || (cos_a < 0))
{
printf("三角形是钝角三角形\n");
}
else
{
printf("三角形是直角三角形\n");
}

sin_c = sqrt(1- cos_c*cos_c);

area = a*b*sin_c/2;

printf("三角形的面积是%f.\n",area);
}
else
{
printf("三边不能构成三角形\n");
}
}

9. C语言编程试题

#include<stdio.h>
void main()
{
int n;
printf("输入数目n:");
scanf("%d", &n);
printf("输入n个double类型数:");
double* numbers = new double[n];
int i=0;
while(i<n)
{
scanf("%lf", &numbers[i]);
i++;
}
double average=0.0, max=numbers[0], min=numbers[0], sum=0.0;
for(int j=0;j<n;j++)
{
sum += numbers[j];
if(max < numbers[j])
{
max = numbers[j];
}
if(min > numbers[j])
{
min = numbers[j];
}
}
average = sum/n;
printf("平均值:%f\n 和:%f\n 最大值:%f\n 最小值:%f\n",average,sum,max,min);
}

临时写的,你测试一下,我没有测试,没时间了,有时间帮你测试一下吧~
早上测试过了,可以,忘采纳。