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);
}
臨時寫的,你測試一下,我沒有測試,沒時間了,有時間幫你測試一下吧~
早上測試過了,可以,忘採納。