C语言程序设计慕课下编译答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1求最大公约数和最小公倍数(15分)
#include <>
int fun1( int m, int n)
#include <>
int fun1( int m, int n)
#include<>
int main()
{ int n;
int sum(int n);
scanf("%d",&n);
printf("%d\n",sum(n));
}
int sum(int n)
{ int b;
if(n>1)
b=sum(n-1)+2*n-1;
if(n==1)
b=1;
return b;}
5.巧算自然数
#include<>
int step = 1;
void fc(int n) 鸭子
#include <> int main(){
static int i,x[8];
x[7]=2;
for(i=7;i>=0;i--)
x[i-1]=(x[i]+1)*2;
printf("sum=%d\n",x[0]);
for(i=0;i<7;i++)
printf("sell=%d,",x[i]-x[i+1]); printf("\n");
return 0;
}
7.各位数字之和
int add(int s)
{
if (s<10) 大公约数数球和
return s;
else return s%10+add(s/10); }
int main(int argc, char *argv[]) {
int a,b;
scanf("%d",&a);
b=add(a);
printf("%d",b);
return 0;
}
对称字符串
#include <>
#include <>
main()
{ char a[100];
int i,j;
gets(a);
i=0;
j=strlen(a)-1;
while(i<j)
{if(a[i]==a[j])
{i++;j--;}
else
break;}
if(i>=j) printf("YES\n");
else printf("NO\n");
}
指针排序
#include <>
void sort(int *p,int n);
void sort(int *p,int n)
{
int i,j;
int temp=0;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
if(p[j]>p[j+1])
{
temp=p[j];
p[j]=p[j+1];
p[j+1]=temp;
}
}
}
}
int main()
{
int i;
int a[10];
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
int *p=a;
sort(a,10);
for(i=0;i<10-1;i++)
{
printf("%d,",*(p++));
}
printf("%d\n",*p);
return 0;
}
查找数
#include <>
void find(int *p,int element,int n); void find(int *p,int element,int n) {
int i,flag=0;;
for(i=0;i<n;i++)
{
flag++;
if(element == p[i])
{
printf("%d\n",p[i]);
break;
} }
}
if(flag == n)
{
printf("No\n");
}
}
int main()
{
int i;
int a[10];
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
int *p=a;
int num;
scanf("%d",&num);
find(p,num,10);
return 0;
}
输出指定成绩
#include <>
int main(){
int grade[3][4],i,j,(*p)[4]=grade,n;
float ave=0;
for(i=0;i<3;i++)
for(j=0;j<4;j++)
scanf("%d",&grade[i][j]);
scanf("%d",&n);
for(i=0;i<3;i++)
printf("%d ",*(*(p+n-1)+i));
printf("%d\n",*(*(p+n-1)+3));
for(i=0;i<4;i++)
ave+=*(*(p+n-1)+i);
ave/=4;
if(ave-(int)ave)
printf("%.2f\n",ave);
else
printf("%d\n",(int)ave);
return 0;
成绩排序
#include <>
void average(int p[][6],int n);
void average(int p[][6],int n)
{
int i;
for(i=0;i<4;i++)
{
p[n][4]+=p[n][i];
}
p[n][5]=p[n][4]/4;
}
void Print(int p[][6],int n)
{
int max1=p[0][5];
int max2=p[1][5];
int max3=p[2][5];
int i;
if(max1>max2 && max1>max3)
{
if(max2>max3)
{
printf("%d,%d,%d,%d\n",p[0][0],p[0][1],p[0][2],p[0][3]);
printf("%d,%d,%d,%d\n",p[1][0],p[1][1],p[1][2],p[1][3]);
printf("%d,%d,%d,%d\n",p[2][0],p[2][1],p[2][2],p[2][3]);
}
else
{
printf("%d,%d,%d,%d\n",p[0][0],p[0][1],p[0][2],p[0][3]);
printf("%d,%d,%d,%d\n",p[2][0],p[2][1],p[2][2],p[2][3]);
printf("%d,%d,%d,%d\n",p[1][0],p[1][1],p[1][2],p[1][3]);
}
}
else if(max2>max1 && max2>max3)
{
if(max1>max3)
{
printf("%d,%d,%d,%d\n",p[1][0],p[1][1],p[1][2],p[1][3]);
printf("%d,%d,%d,%d\n",p[0][0],p[0][1],p[0][2],p[0][3]); }
printf("%d,%d,%d,%d\n",p[2][0],p[2][1],p[2][2],p[2][3]);
}
else
{
printf("%d,%d,%d,%d\n",p[1][0],p[1][1],p[1][2],p[1][3]);
printf("%d,%d,%d,%d\n",p[2][0],p[2][1],p[2][2],p[2][3]);
printf("%d,%d,%d,%d\n",p[0][0],p[0][1],p[0][2],p[0][3]);
}
}
else if(max3>max1 && max3>max2)
{
if(max1>max2)
{
printf("%d,%d,%d,%d\n",p[2][0],p[2][1],p[2][2],p[2][3]);
printf("%d,%d,%d,%d\n",p[0][0],p[0][1],p[0][2],p[0][3]);
printf("%d,%d,%d,%d\n",p[1][0],p[1][1],p[1][2],p[1][3]);
}
else
{
printf("%d,%d,%d,%d\n",p[2][0],p[2][1],p[2][2],p[2][3]);
printf("%d,%d,%d,%d\n",p[1][0],p[1][1],p[1][2],p[1][3]);
printf("%d,%d,%d,%d\n",p[0][0],p[0][1],p[0][2],p[0][3]);
}
}
}
int main()
{
int i,j;
int a[3][6]={0};
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
{
scanf("%d",&a[i][j]);
}
average(a,i);
}
Print(a,3);
return 0;
统计字符串出现次数
#include <>
#include <>
int main(){
char str1[100],str2[100];
int flag=0,counter=0,l1,l2,i,j;
gets(str1);gets(str2);
l1=strlen(str1);l2=strlen(str2);
for(i=0;i<l1;i++){
if(str1[i]==str2[0]){
for(j=1;j<l2;j++){
if(str1[i+j]!=str2[j])
break;
else flag=1;
}
if(flag)
counter++;
}
}
if(counter)
printf("%d\n",counter);
else
printf("No\n");
return 0;
}
成绩统计求平均分
#include<>
main()
{
printf("wanglei,\n");
printf("lihong,\n");
printf("zhangli,\n");
printf("liuming,83\n");
printf("AVERAGE:,,,82\n");
}
加密
#include<>
#include<>
int l;
void gm(char*a);
main()
{
char s[100]={0};
gets(s);
l=strlen(s);
gm(s);
}
void gm(char*a)
{
int i;
char d[100]={0};
for(i=0;i<l;i++)
{
switch(a[i])
{
case'a':d[i]='d';break; case'b':d[i]='w';break;
case'c':d[i]='k';break; case'd':d[i]=';';break;
case'e':d[i]='i';break; case'i':d[i]='a';break;
case'k':d[i]='b';break;
case';':d[i]='c';break;
case'w':d[i]='e';break; default:d[i]=a[i];
}
}
puts(d);
}
学生成绩
#include""
struct ade
{int no;int am;int bm;int cm;};
struct ade N[3]=
{1,70,80,90,2,75,85,95,3,88,84,65};
main()
{
char s[300];int i=0,k,m;
for(i=0;i<3;i++)
{
scanf("%c",&s[i]);
if(s[i]=='\n') break;}
if(s[0]=='m')printf("2");
else
if(s[0]=='1'||s[0]==211s[0]=='3'){k=N[(int)(s[0]-'1')].am+N[(int)(s[0]-'1')].
bm+N[(int)(s[0]-'1')].cm;;m=k/3;printf("%d",m);}
else printf("0");
}
字母储存
#include<>
#include<>
typedef struct Char_
{ char ch;
char intch;
struct Char_ *next;
}
CHAR_;
int main(void)
{]
CHAR *node = NULL;
CHAR *ch = NULL;
CHAR_ *hear = NULL;
char zimu = 'a';
char panduanzimu;
char record;
for (; zimu != 'e'; zimu++)
{
ch = (CHAR *)malloc(sizeof(CHAR));
if (ch == NULL) { exit(0); } ch_->ch = zimu;
ch->next = NULL;
if (node == NULL) { node = ch_; }
else{
node->next = ch;
node = node->next; }
if (hear == NULL)
{ hear = node; }
}
for (zimu -= 2; zimu != ('a' - 1); zimu--)
{
ch_ = (CHAR_ *)malloc(sizeof(CHAR_));
if (ch == NULL)
{ exit(0); }
ch_->ch = zimu;
ch->next = NULL;
node->next = ch_; node = node->next;
}
for (node = hear, zimu = '0'; node != NULL; node = node->next, zimu++) {
node->intch = zimu;
}
scanf("%c", &panduanzimu);
node = hear;
if (panduanzimu >= '0'&&panduanzimu <= '6')
{]
while (node != NULL)
{
if (panduanzimu == node->intch)
{ printf("%c", node->ch); break; } |
node = node->next;
}
}
else if (panduanzimu >= 'a'&&panduanzimu <= 'd')
{
while (node != NULL)
{
if (panduanzimu == node->ch) record = node->intch;
}
node = node->next;
}
printf("%c", record);
else{ printf("N");
}
node = hear;
while (node != NULL) {
hear = node->next;
free(node);
node = hear;
}
return 0;
}
链表合并
#include<>
#include<>
int main(){
static int i,j,m,n;
static char q,x[100],y[100],z[100];
gets(x);gets(y);
strcat(x,y);
m=strlen(x);
for(j=0;j<m;j++){
for(i=0;i<m-j;i++){
q=x[j];
if(x[j]>x[j+i]){ x[j]=x[j+i]; x[j+i]=q;
}
}
}
for(i=0;i<m;i++){
for(j=0;j<=i;j++){
if(z[j]==x[i])
break;
if(j==i)
z[n]=x[i];
n=strlen(z);
}
}
for(i=m-1;i>0;i--){ if(isalpha(z[i])){ m=i;
break;
}
}
for(i=0;i<=m;i++){
if(z[i]==' '){
continue;
}
else{
if(i==m){
printf("%c\n",z[i]);
}
else{
printf("%c ",z[i]);
return 0;
解析字符串
#include <>#include <> int main()
{
int i,j,k=0;
char a[100],b[100],c[100];
gets(a);
for(i=0;a[i]!='n';i++)
{
printf("%c",a[i]); k++;
}
printf("\n");
for(i=k+1;a[i]!='\0'&&a[i]!='n';i++)
{
printf("%c",a[i]); k++;
}
if(a[i]=='n'&&a[i+1]!='\0')
{
for(i=k+2;a[i]!=''0';++i)
{ printf("%c",a[i]);
}
}
}
#include<>
#include <> int main () { char str[80], c; int i, j, n;
gets(str); n = strlen(str);
for ( i=0, j=n-1; i<j; i++, j--)
{ c= str[i];
str[i] = str[j];
str[j] = c;
return 0;
}
基本的四则运算
#include <>
int main(){
long long a,b;
char op;
scanf("%lld%c%lld",&a,&op,&b);
switch(op){
case '+':
printf("%lld\n",a+b);
break;
case '-':
printf("%lld\n",a-b);
break;
case '*':
printf("%lld\n",a*b); break;
case '/':
printf("%lld\n",a/b);
break;
case '%':
printf("%lld\n",a%b); break;
}
return 0;
}
复杂的四则运算
#include <>
#include <>
int main(){
static char x[100];
int i;
scanf("%s",&x);
for(i=0;i<strlen(x);i++){
if(x[i]>='0'&&x[i]<='9'){ continue;
}
if(x[i]=='*'){
x[i-1]=(x[i-1]-'0')*(x[i+1]-'0')+'0';
x[i+1]='0';
i++;
}
else if(x[i]=='/'){
x[i-1]=(x[i-1]-'0')/(x[i+1]-'0')+'0';
x[i+1]='0';
i++;
}
}
for(i=1;i<strlen(x);i++){
if(x[i]>='0'&&x[i]<='9'){
if(x[i-1]=='+'){
x[0]+=(x[i]-'0');
}
else if(x[i-1]=='-'){ x[0]-=(x[i]-'0');
}
}
else{
continue;
}
}
printf("%c\n",x[0]);
return 0;。

相关文档
最新文档