帮忙用C语言做几个作业题,急!满意再加分。 C语言题,急!!!可以用点C++,满意加分

作者&投稿:苏李 (若有异议请与网页底部的电邮联系)
1.1

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

int main()
{
int i,n,len;
char str[200];
gets(str);
len=strlen(str);
for(i=0;i<len;i++)
{
if('a'<=str[i] && str[i]<='z')
str[i]-=32;
else if('A'<=str[i] && str[i]<='Z')
str[i]+=32;
}
puts(str);
return 0;
}
------------------------------------------------------------------------------------------------------------------------------------------
1.2

#include <stdio.h>
#define N 3 // 可改 50

int main()
{
int i;
int score[N][3];
int s[3]={0,0,0};
printf("输入%d个学生3门课的成绩\n",N);
for(i=0;i<N;i++)
{
printf("输入第%d个学生3门课的成绩\n",i+1);
scanf("%d %d %d",&score[i][0],&score[i][1],&score[i][2]);
s[0]+=score[i][0];
s[1]+=score[i][1];
s[2]+=score[i][2];
}
printf("%d个学生3门课程的总成绩分别是:%d\t%d\t%d\n",N,s[0],s[1],s[2]);
printf("%d个学生3门课程的平均成绩分别是:%.2f\t%.2f\t%.2f\n",N,s[0]*1.0/N,s[1]*1.0/N,s[2]

*1.0/N);

return 0;
}
------------------------------------------------------------------------------------------------------------------------------------------
2.1

#include <stdio.h>
float fmin(float a,float b)
{
if(a<b) return a;
else return b;
}

int main()
{
float f1,f2,min;
printf("请输入两个实数:\n");
scanf("%f %f",&f1,&f2);
min=fmin(f1,f2);
printf("其最小值是:%f\n",min);
return 0;
}
-----------------------------------------------------------------------------------------------------------------------------------------
2.2

#include <stdio.h>
#define N 10
float f_ave(int a[])
{
int i,sum=0;
float f;
for(i=0;i<N;i++) sum+=a[i];
f=sum*1.0/N;
return f;
}

int main()
{
int i;
int sco[N];
float ave;
printf("请输入10名学生的成绩:\n");
for(i=0;i<N;i++) scanf("%d",&sco[i]);
ave=f_ave(sco);
printf("%d名学生的平均成绩是:%.2f\n",N,ave);
return 0;
}
-------------------------------------------------------------------------------------------------------------------
2.3

#include <stdio.h>

int gcd(int a, int b)
{
int temp;
if (a < b)
{
temp=a;
a=b;
b=temp;
}
if (b == 0)
return a;
else
return gcd(b, a%b);
}

int lcm(int a, int b)
{
return a*b/gcd(a, b);
}

int main()
{
int a,b;
printf("请输入2个整数:\n");
scanf("%d %d",&a,&b);
printf("其最小公倍数为:%d\n",lcm(a,b));
return 0;
}

--------------------------------------------------------------------------------------------------------------------------------------
2.4

#include <stdio.h>

void d2b(int d)
{
int i,a,k=0;
int w[100];
a=d;
while(a>0)
{
w[k++]=a%2;
a/=2;
}
printf("%d的二进制表示为:",d);
for(i=k-1;i>=0;i--) printf("%d",w[i]);
printf("\n");
}

int main()
{
int a;
printf("请输入一个10进制数:\n");
scanf("%d",&a);
d2b(a);
return 0;
}

---------------------------------------------------------------------------------------------------------------------------------------
2.5

#include <stdio.h>

void Y_1(int n)
{
int i;
double y=0.0;
for(i=1;i<=n;i++) y+=1.0/i;
printf("Y=1+1/2+1/3……+1/%d=%.2lf\n",n,y);
}

void Y_2()
{
int i;
long sum=0;
for(i=1;i<99;i++) sum+=i*(i+1)*(i+2);
printf("Y=1×2×3+2×3×4+……+98×99×100=%ld\n",sum);
}

int main()
{
int n;
printf("请输入n值:\n");
scanf("%d",&n);
Y_1(n);
Y_2();
return 0;
}

-----------------------------------------------------------------------------------------------------------------------------------------
3.1

#include <stdio.h>
int n;
float f_ave(int a[])
{
int i,sum=0;
float ave=0.0;
for(i=0;i<n;i++) sum+=a[i];
ave=sum*1.0/n;
return ave;
}

int main()
{
int i;
int array[200];
float ave;
printf("请输入数组的大小:\n");
scanf("%d",&n);
for(i=0;i<n;i++) scanf("%d",&array[i]);
ave=f_ave(array);
printf("%d个数组元素的平均数为:%.2f\n",n,ave);
return 0;
}

3.2

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

char *str_conn(char a[],char b[])
{
int i,len,len1,len2;
char str[200];
len1=strlen(a);
len2=strlen(b);
len=len1+len2;
for(i=0;i<len1;i++) str[i]=a[i];
for(i=0;i<len2;i++) str[len1+i]=b[i];
str[len]='\0';
return str;
}

int main()
{
int i;
char str1[100],str2[100],*str;
printf("请输入第一个字符串:\n");
scanf("%s",str1);
printf("请输入第二个字符串:\n");
scanf("%s",str2);
str=str_conn(str1,str2);
printf("连接后的字符串为:%s\n",str);
return 0;
}

3.4

#include <stdio.h>

int main()
{
int i,j,n,sum,temp;
sum=0;
printf("请输入数组的阶数:\n");
scanf("%d",&n);
printf("请输入%d*%d个数组元素:\n",n,n);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&temp);
if(i==j) sum+=temp;
}
}
printf("数组的主对角元素之和是:%d\n",sum);

return 0;
}

3.5

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

int countc(char s[])
{
int i,n,len;
len=strlen(s);
n=0;
for(i=0;i<len;i++)
{
if('A'<=s[i] && s[i]<='Z') n++;
}
return n;
}

int main()
{
int n;
char str[200];
printf("请输入一个字符串:\n");
gets(str);
n=countc(str);
printf("字符串中大写字母的个数是:%d\n",n);
return 0;
}

3.6

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

void f(int x,int y,int z)
{
float rst=0.0;
if(x==y && z==y)
{
printf("非法计算,分母为0!\n");
}
else
{
rst=(x+y)*1.0/(x-y)+(z+y)*1.0/(z-y);
printf("f(x,y,z)=:%.2f\n",rst);
}
}

int main()
{
int x,y,z;
printf("请输入X,Y,Z:\n");
scanf("%d %d %d",&x,&y,&z);
f(x,y,z);
return 0;
}

3.7

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

int ask_age(int n)
{
if(n==1) return 10;
else return ask_age(n-1)+2;
}

int main()
{
int n,age;
printf("请输入求第几位学生的年龄:\n");
scanf("%d",&n);
age=ask_age(n);
printf("第%d位学生的年龄为:%d\n",n,age);
return 0;
}

----------------------------------------------------------------------------------------------------------------------------

4.1

#include <stdio.h>

int main()
{
int a,b,t;
int *p,*q,*tp;
printf("请输入两个int变量:\n");
scanf("%d %d",&a,&b);
p=&a;
q=&b;
{ // 交换 p,q
tp=p;
p=q;
q=tp;
}
{ // 交换p,q所指变量
t=*p;
*p=*q;
*q=t;
}
printf("交换后两个变量是:%d %d\n",a,b);
return 0;
}

-----------------------------------------------------------------------------------------------------------------------------
4.2

#include <stdio.h>

int main()
{
int i,m,n,p1,p2;
int a[100];
printf("请输入数组的大小:\n");
scanf("%d",&n);
printf("输入%d个数组元素:\n",n);
for(i=0;i<n;i++) scanf("%d",&a[i]);
printf("输入p,q指向数组元素的下标:\n");
scanf("%d %d",&p1,&p2);
m=(p1+p2)/2;
printf("p和q的中点r指向:a[%d],其值为%d\n",m,a[m]);
return 0;
}

-----------------------------------------------------------------------------------------------------------------------

5.1

#include <stdio.h>

void s(int a[],int n)
{
int i,sum=0;
int *p=a;
float ave;
for(i=0;i<n;i++)
{
sum+=*p;
p++;
}
ave=sum*1.0/n;
printf("数组的平均数是:%.2f\n",ave);
}

int main()
{
int i,n;
int a[100];
printf("请输入数组的大小:\n");
scanf("%d",&n);
printf("输入%d个数组元素:\n",n);
for(i=0;i<n;i++) scanf("%d",&a[i]);
s(a,n);
return 0;
}

--------------------------------------------------------------------------------------------------------

5.2

#include <stdio.h>

int main()
{
int k;
char str[200],*s;
printf("请输入一个字符串:\n");
gets(str);
s=str;
k=0;
while(*s!='\0')
{
k++;
s++;
}
printf("字符串的长度是:%d\n",k);
return 0;
}

-------------------------------------------------------------------------------------------------------------------

5.3

#include <stdio.h>

int main()
{
int i;
float a[102],*min,*max;
printf("请输入100个实数:\n");
for(i=0;i<100;i++) scanf("%f",&a[i]);
min=a;
max=a;
for(i=1;i<100;i++)
{
if(*(a+i)>*max) max=a+i;
if(*(a+i)<*min) min=a+i;
}
printf("100个实数的最大值是:%.2f 最小值是:%.2f\n",*max,*min);
return 0;
}

---------------------------------------------------------------------------------------------------------------

5.4

#include <stdio.h>
#define n 10
void sort(int a[])
{
int i,j,tp;
int *p=a;
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(*(p+i) > *(p+j))
{
tp=*(p+i);
*(p+i)=*(p+j);
*(p+j)=tp;
}
}
}
}

int main()
{
int i;
int a[102],*min,*max;
printf("请输入%d个整数:\n",n);
for(i=0;i<n;i++) scanf("%d",&a[i]);
sort(a);
printf("排序后序列为:\n");
for(i=0;i<10;i++) printf("%d ",a[i]);
printf("\n");
return 0;
}

都是些基本的题目,建议LZ看些c入门书籍
vc6.0 运行通过,如果LZ觉得还算可以的话,希望加些分,毕竟调了这么多,很费神的,前前后后花了三四个小时
1.1

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

int main()
{
int i,n,len;
char str[200];
gets(str);
len=strlen(str);
for(i=0;i<len;i++)
{
if('a'<=str[i] && str[i]<='z')
str[i]-=32;
else if('A'<=str[i] && str[i]<='Z')
str[i]+=32;
}
puts(str);
return 0;
}
------------------------------------------------------------------------------------------------------------------------------------------
1.2

#include <stdio.h>
#define N 3 // 可改 50

int main()
{
int i;
int score[N][3];
int s[3]={0,0,0};
printf("输入%d个学生3门课的成绩\n",N);
for(i=0;i<N;i++)
{
printf("输入第%d个学生3门课的成绩\n",i+1);
scanf("%d %d %d",&score[i][0],&score[i][1],&score[i][2]);
s[0]+=score[i][0];
s[1]+=score[i][1];
s[2]+=score[i][2];
}
printf("%d个学生3门课程的总成绩分别是:%d\t%d\t%d\n",N,s[0],s[1],s[2]);
printf("%d个学生3门课程的平均成绩分别是:%.2f\t%.2f\t%.2f\n",N,s[0]*1.0/N,s[1]*1.0/N,s[2]

*1.0/N);

return 0;
}
------------------------------------------------------------------------------------------------------------------------------------------
2.1

#include <stdio.h>
float fmin(float a,float b)
{
if(a<b) return a;
else return b;
}

int main()
{
float f1,f2,min;
printf("请输入两个实数:\n");
scanf("%f %f",&f1,&f2);
min=fmin(f1,f2);
printf("其最小值是:%f\n",min);
return 0;
}
-----------------------------------------------------------------------------------------------------------------------------------------
2.2

#include <stdio.h>
#define N 10
float f_ave(int a[])
{
int i,sum=0;
float f;
for(i=0;i<N;i++) sum+=a[i];
f=sum*1.0/N;
return f;
}

int main()
{
int i;
int sco[N];
float ave;
printf("请输入10名学生的成绩:\n");
for(i=0;i<N;i++) scanf("%d",&sco[i]);
ave=f_ave(sco);
printf("%d名学生的平均成绩是:%.2f\n",N,ave);
return 0;
}
-------------------------------------------------------------------------------------------------------------------
2.3

#include <stdio.h>

int gcd(int a, int b)
{
int temp;
if (a < b)
{
temp=a;
a=b;
b=temp;
}
if (b == 0)
return a;
else
return gcd(b, a%b);
}

int lcm(int a, int b)
{
return a*b/gcd(a, b);
}

int main()
{
int a,b;
printf("请输入2个整数:\n");
scanf("%d %d",&a,&b);
printf("其最小公倍数为:%d\n",lcm(a,b));
return 0;
}

--------------------------------------------------------------------------------------------------------------------------------------
2.4

#include <stdio.h>

void d2b(int d)
{
int i,a,k=0;
int w[100];
a=d;
while(a>0)
{
w[k++]=a%2;
a/=2;
}
printf("%d的二进制表示为:",d);
for(i=k-1;i>=0;i--) printf("%d",w[i]);
printf("\n");
}

int main()
{
int a;
printf("请输入一个10进制数:\n");
scanf("%d",&a);
d2b(a);
return 0;
}

---------------------------------------------------------------------------------------------------------------------------------------
2.5

#include <stdio.h>

void Y_1(int n)
{
int i;
double y=0.0;
for(i=1;i<=n;i++) y+=1.0/i;
printf("Y=1+1/2+1/3……+1/%d=%.2lf\n",n,y);
}

void Y_2()
{
int i;
long sum=0;
for(i=1;i<99;i++) sum+=i*(i+1)*(i+2);
printf("Y=1×2×3+2×3×4+……+98×99×100=%ld\n",sum);
}

int main()
{
int n;
printf("请输入n值:\n");
scanf("%d",&n);
Y_1(n);
Y_2();
return 0;
}

-----------------------------------------------------------------------------------------------------------------------------------------
3.1

#include <stdio.h>
int n;
float f_ave(int a[])
{
int i,sum=0;
float ave=0.0;
for(i=0;i<n;i++) sum+=a[i];
ave=sum*1.0/n;
return ave;
}

int main()
{
int i;
int array[200];
float ave;
printf("请输入数组的大小:\n");
scanf("%d",&n);
for(i=0;i<n;i++) scanf("%d",&array[i]);
ave=f_ave(array);
printf("%d个数组元素的平均数为:%.2f\n",n,ave);
return 0;
}

3.2

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

char *str_conn(char a[],char b[])
{
int i,len,len1,len2;
char str[200];
len1=strlen(a);
len2=strlen(b);
len=len1+len2;
for(i=0;i<len1;i++) str[i]=a[i];
for(i=0;i<len2;i++) str[len1+i]=b[i];
str[len]='\0';
return str;
}

int main()
{
int i;
char str1[100],str2[100],*str;
printf("请输入第一个字符串:\n");
scanf("%s",str1);
printf("请输入第二个字符串:\n");
scanf("%s",str2);
str=str_conn(str1,str2);
printf("连接后的字符串为:%s\n",str);
return 0;
}

3.4

#include <stdio.h>

int main()
{
int i,j,n,sum,temp;
sum=0;
printf("请输入数组的阶数:\n");
scanf("%d",&n);
printf("请输入%d*%d个数组元素:\n",n,n);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&temp);
if(i==j) sum+=temp;
}
}
printf("数组的主对角元素之和是:%d\n",sum);

return 0;
}

3.5

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

int countc(char s[])
{
int i,n,len;
len=strlen(s);
n=0;
for(i=0;i<len;i++)
{
if('A'<=s[i] && s[i]<='Z') n++;
}
return n;
}

int main()
{
int n;
char str[200];
printf("请输入一个字符串:\n");
gets(str);
n=countc(str);
printf("字符串中大写字母的个数是:%d\n",n);
return 0;
}

3.6

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

void f(int x,int y,int z)
{
float rst=0.0;
if(x==y && z==y)
{
printf("非法计算,分母为0!\n");
}
else
{
rst=(x+y)*1.0/(x-y)+(z+y)*1.0/(z-y);
printf("f(x,y,z)=:%.2f\n",rst);
}
}

int main()
{
int x,y,z;
printf("请输入X,Y,Z:\n");
scanf("%d %d %d",&x,&y,&z);
f(x,y,z);
return 0;
}

3.7

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

int ask_age(int n)
{
if(n==1) return 10;
else return ask_age(n-1)+2;
}

int main()
{
int n,age;
printf("请输入求第几位学生的年龄:\n");
scanf("%d",&n);
age=ask_age(n);
printf("第%d位学生的年龄为:%d\n",n,age);
return 0;
}

----------------------------------------------------------------------------------------------------------------------------

4.1

#include <stdio.h>

int main()
{
int a,b,t;
int *p,*q,*tp;
printf("请输入两个int变量:\n");
scanf("%d %d",&a,&b);
p=&a;
q=&b;
{ // 交换 p,q
tp=p;
p=q;
q=tp;
}
{ // 交换p,q所指变量
t=*p;
*p=*q;
*q=t;
}
printf("交换后两个变量是:%d %d\n",a,b);
return 0;
}

-----------------------------------------------------------------------------------------------------------------------------
4.2

#include <stdio.h>

int main()
{
int i,m,n,p1,p2;
int a[100];
printf("请输入数组的大小:\n");
scanf("%d",&n);
printf("输入%d个数组元素:\n",n);
for(i=0;i<n;i++) scanf("%d",&a[i]);
printf("输入p,q指向数组元素的下标:\n");
scanf("%d %d",&p1,&p2);
m=(p1+p2)/2;
printf("p和q的中点r指向:a[%d],其值为%d\n",m,a[m]);
return 0;
}

-----------------------------------------------------------------------------------------------------------------------

5.1

#include <stdio.h>

void s(int a[],int n)
{
int i,sum=0;
int *p=a;
float ave;
for(i=0;i<n;i++)
{
sum+=*p;
p++;
}
ave=sum*1.0/n;
printf("数组的平均数是:%.2f\n",ave);
}

int main()
{
int i,n;
int a[100];
printf("请输入数组的大小:\n");
scanf("%d",&n);
printf("输入%d个数组元素:\n",n);
for(i=0;i<n;i++) scanf("%d",&a[i]);
s(a,n);
return 0;
}

--------------------------------------------------------------------------------------------------------

5.2

#include <stdio.h>

int main()
{
int k;
char str[200],*s;
printf("请输入一个字符串:\n");
gets(str);
s=str;
k=0;
while(*s!='\0')
{
k++;
s++;
}
printf("字符串的长度是:%d\n",k);
return 0;
}

-------------------------------------------------------------------------------------------------------------------

5.3

#include <stdio.h>

int main()
{
int i;
float a[102],*min,*max;
printf("请输入100个实数:\n");
for(i=0;i<100;i++) scanf("%f",&a[i]);
min=a;
max=a;
for(i=1;i<100;i++)
{
if(*(a+i)>*max) max=a+i;
if(*(a+i)<*min) min=a+i;
}
printf("100个实数的最大值是:%.2f 最小值是:%.2f\n",*max,*min);
return 0;
}

---------------------------------------------------------------------------------------------------------------

5.4

#include <stdio.h>
#define n 10
void sort(int a[])
{
int i,j,tp;
int *p=a;
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(*(p+i) > *(p+j))
{
tp=*(p+i);
*(p+i)=*(p+j);
*(p+j)=tp;
}
}
}
}

int main()
{
int i;
int a[102],*min,*max;
printf("请输入%d个整数:\n",n);
for(i=0;i<n;i++) scanf("%d",&a[i]);
sort(a);
printf("排序后序列为:\n");
for(i=0;i<10;i++) printf("%d ",a[i]);
printf("\n");
return 0;
}

/***********************************************************
(1) 输入一个字符串,将其中所有大写字母改为小写字母,而所有小写字母全部改为大写字母,然后输出。
设计步骤
①用gets输入字符串;
②用循环判断字符串中的每个字符是大写还是小写,若是大写要转换成小写,是小写要转换成大写:大写与小写字母的转换关系是“小写字母=大写字母+32”
③用puts输出该字符串。
***********************************************************/
#include <stdio.h>
#include <string.h>

void main()
{
char *s;
int i;
gets(s);
for(i = 0; i < strlen(s); i++)
{
if( *(s+i) > 64 && *(s+i) < 91 )
*(s+i) += 32;
else if( *(s+i) > 96 && *(s+i) < 123 )
*(s+i) -= 32;
}
printf("\n");
puts(s);
}

/***********************************************************
(2) 设某班50名学生的三科成绩表如下
课程一 课程二 课程三
… … …
编一个程序,输入这50个学生的三科成绩,计算并输出每科成绩的平均分。
设计步骤:
① 可先按3个学生3门课成绩设计,通过后再改成50个学生;
② 先将3个学生3门课的成绩通过scanf函数送入字符数组score;
③ 求出3个学生每门课程的总成绩,放入s一维数组中;
④ 求出每门课程的平均成绩并输出。***********************************************************/
#include <stdio.h>

#define STU_NUM 3

void score_input(int (*score)[3]);
void score_process(int (*score)[3], int *, float *);
void score_output(int (*score)[3], int *, float *);

int main()
{
int score[STU_NUM][3],s[STU_NUM];
float average[3];
int i,j,k;
score_input(score); //When you are inputing the scores, you can use two Tab as the separator.
score_process(score,s,average);
score_output(score,s,average);
}

void score_input(int (*score)[3] )
{
int i,j;
printf("Please input the %d students' scores:",STU_NUM);
printf("\n Subject_NO1 Subject_NO2 Subject_NO3:\n");
for(i = 0; i < STU_NUM; i++)
{
printf("The %dth student:",i+1);
printf(" ");
for(j = 0; j < 3; j++)
{
scanf("%d",*(score+i)+j);
}
}
}
void score_process(int (*score)[3], int *s, float *average)
{
int i,j;
for(i = 0; i < STU_NUM; i++)
{
int sum = 0,j;
for(j = 0; j < 3; j++)
sum += *(*(score+i)+j);
*(s+i) = sum;
}

for(j = 0; j < 3; j++)
{
int sum = 0;
for(i = 0; i < STU_NUM; i++)
sum += *(*(score+i)+j);
printf("_______%d________\n",sum);
*(average+j) = sum * 1.0 / STU_NUM;
}
}
void score_output(int (*score)[3], int *s, float *average)
{
int j;
for(j = 0; j < 3; j++)
{
printf("The %dth subject's average score is : %.2f .\n",j+1,*(average+j));
}
}

/********************************************(1)编写自定义函数,实现求两个实数最小值的功能。
(2)计算10名学生1门课成绩的平均分。(程序设计要求:用自定义函数来实现,注意自定义函数的形式及参数之间的传递,用主函数来调用自定义函数实现功能。)
(3)定义二个整数(x、y)最小公倍数的函数。
(4)利用自定义函数编写程序,实现将一个十进制数转换成二进制数。
(5)利用自定义函数编写程序,求下面的式子:
Y=1+1/2+1/3……+1/n (n的数值自定)
Y=1×2×3+2×3×4+……+98×99×100

**********************************************************************/

#include <stdio.h>

double double_min(double x, double y)
{
return x > y ? y : x;
}

double average(double *score)
{
const int n = 10;
int i;
double aver,sum = 0;
for(i = 0; i < 10; i++)
sum += *(score+i);
aver = sum/10.0;
return aver;
}

int co_mutiple(int x, int y)
{
int temp;
temp = x > y ? x : y;
while( (temp % x != 0) || (temp % y != 0) )
temp++;
return temp;
}

void Dec_to_Bin(void)
{
int x,i,a[32],e;
scanf("%d",&x);
for(i = 0; i < 32; i++)
{
a[i] = x&0x01;
x=x>>1;
}
e = 0;
printf("It is :");
for(i = 31; i >= 0; i--)
{
if( (a[i] == 0) && (e == 0) )
continue;
e = 1;
printf("%d",a[i]);
}
printf("\n");
}

double caculate_Y1(int n)
{
int i;
double sum = 0;
for(i = 1; i < n+1; i++)
sum += 1.0/i;
return sum;
}

long caculate_Y2(int n)
{
int i;
long sum = 0;
for(i = 3; i < n; i++)
sum += i*(i-1)*(i-2);
return sum;
}
void main()
{
Dec_to_Bin();
printf("%lf\n%d\n",caculate_Y1(23),caculate_Y2(100));
}

累死了,先不写了

楼上的哥们 你穷疯了吧
虽然没看你代码 不过光凭你这精神 楼主也要给你分

花一小时做这些题,不如去做些更有意义的活动呢!跑步去……

C语言题目,两个。100分!!!!满意再加分!劳资发彪了~~~~~

第一题:
这是个老问题了,不难。下面的程序给出了一个非负十进制整数转换为2-16进制数的代码,加了注释。这个问题其它的方法还有很多,就不一一给出了。
#include
#include
#define M sizeof(unsigned int)*8

int trans(unsigned n, int d, char s[])/* 函数trans将无符号整数n翻译成d(2<=d<=16)进制表示的字符串s */
{
static char digits[] ="0123456789ABCDEF"; /* 十六进制数字的字符 */
char buf[M+1];
int j, i = M;
if(d16)
{
s[0]='\0'; /* 不合理的进制,置s为空字符串 */
return 0; /* 不合理的进制,函数返回0 */
}
buf[i]='\0';/* 这个是关键,它不但是字符串的结束标志,也是(s[j]=buf[i])!='\0'结束的条件 */
do
{
buf[--i]=digits[n%d]; /*译出最低位,对应字符存入对应工作数组中*/
n/=d;
}while(n);
/* 将译出在工作数组中的字符串复制到s */
for(j=0;(s[j]=buf[i])!='\0';j++,i++);
/* 其中控制条件可简写成s[j]=buf[i] */
return j;
}

/* 主函数用于测试函数 trans() */
int main()
{
unsigned int num;
int i,scale[]={2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}; /* 如果只需要2,4,8,16进制转换,去掉其它数字 */
char str[33];
system("cls");
printf("Please input an unsigned digit:
");
scanf("%u",&num);
for(i=0;i<sizeof(scale)/sizeof(scale[0]);i++)
{
if(trans(num,scale[i],str))
printf("%5d = %s(%d)
",num,str,scale[i]);
else
printf("%5d => (%d) Error!
",num,scale[i]);
}

system("pause");
return 0;
}

第二题:
这个问题有点意思,比上一个难些。下面的程序是一个师哥写的,有详细的注释,总体上思路和方法不错。只是程序中他用的是选择排序,而且不是最有效的选择排序方法,我把它改成速度最快的快速排序,程序我已测试通过。这个问题是C++ primer书上的实例,可以查阅该书这个问题的C++代码,这里就不列出了。
#include
#include
#include
#define N 1000 /* 设文件不超过1000词数,可更改 */

int comp(const void* a,const void* b)
{
return *(int* )b-*(int* )a;
}

int main(void)
{
FILE *fp1,*fp2;
char ch,s[N][21];/* 设每个单词不超过20个字符长度,可更改 */
int i=0,j=0,k,max,flag=0,t[N],tt[N];/*flag=0*/
system("cls");
if((fp1=fopen("001.txt","r"))==NULL)/* 设要统计的文件名为001.txt */
{ printf("Cannot open this file!
");
system("pause");
exit(0);
}
fp2=fopen("002.txt","w");/* 设结果写入文件002.txt */
ch=fgetc(fp1);/* 读文件 */
while(ch!=EOF) /* 当文件未结束时循环 */
{
if(ch==' '||ch==''||ch=='.'||ch==','||ch=='?'||ch=='!'
||ch==':'||ch==';'||ch=='-'||ch=='
') /* 设定英文的标点符号,如文件含各种标点符号加入其中即可,这里只列出常用标点符号 */
{
if(flag==1)/* flag单词词内标记 */
{ flag=0;
i++; /* i表示单词个数 */
}
}
else if(flag==0)
{
flag=1;
j=0; /* 重置单词词内位置标记 */
s[i][j]=ch;
}
else
{ j++;
s[i][j]=ch;
}
ch=fgetc(fp1);
}
max=i; /* max为文章实际的最大单词数 */
for(i=0;i<max;i++)
t[i]=1;
for(i=0;i<max-1;i++)
for(j=i+1;j<max;j++)
if(t[i]!=0&&strcmp(s[j],s[i])==0){t[i]++;t[j]=0;}/* 判断单词是否重复,如用重复则设定标记t[] */
j=0;
for(i=0;i<max;i++)
if(t[i]>0) tt[j++]=t[i]; /* tt[]是t[]的一个下标连续递增的副本 */

qsort(tt,j,sizeof(tt[0]),comp);

fprintf(fp2,"word:%d
",max);/*输出文章单词数*/
printf("word:%d
",max);
for(i=0;i<j;i++)
for(k=0;k<max;k++)
if(t[k]==tt[i])
{fprintf(fp2,"%-3d:%s
",t[k],s[k]);/* 输出到文件 */
printf("%-3d:%s
",t[k],s[k]); /*输出到屏幕显示*/
t[k]=0; /* 处理统计次数相同的情况,避免重复打印 */
}

fclose(fp1);
fclose(fp2);
system("pause");
return 0;
}

#includeusing namespace std;int stones[50000];bool mark[50000];int n,m,k;int findMax(){int ans=0;int max=0;for(int i=0;i+m-1max){ans=i;max=temp;}}return ans;}int main(){while(cin>>n>>m>>k){for(int i=0;i>stones[i];mark[i]=false;}int total=0;for(int i=0;i<k;++i){int p=findMax();int j=0;while(j<m && p<n){if(!mark[p]){mark[p]=true;total+=stones[p];j++;}p++;}}cout<<total<<endl;}}

帮忙用C语言做几个作业题,急!满意再加分。
答:3.完成下面的题目,然后上机验证。 (1)输入一个数组,利用自定义函数求数组的平均数(用数组做参数)。 (2) 用自定义函数实现将两个字符串连接的程序。 (4)给出一个二维数组,求其主对角线元素之和。 (5)自定义函数countc的功能是统计 array数组中大写字母的个数,并返回大写字母的数目。 (6)下列程序的功能是...

C语言设计作业题?
答:double a,b,c;scanf("%lf%lf%lf",&a,&b,&c);printf("%lf\n",a+b+c);return 0;}

请高手帮我做3道C语言作业题,谢谢
答:1题答案:m++ continue//这个地方绝对不能是break,break是跳出整个循环 2题答案:j = k+1 k = j;k = i;//这道题出得有问题,需要3个空 //下面是我根据这道题编的程序,用VC6.0运行过了 include <stdio.h> void sortabc(int *arr,int n){ int i,j,k,temp;for(i=0;i<n-1;...

c语言作业 加急的
答:5.你给的表达式和举的例子不一致,我按表达式做的 include<stdio.h> main(){ long int b[20]={1,2},sum=3,i;for(i=2;i<20;i++){ b[i]=2*b[i-1]+b[i-2];sum+=b[i];} printf("%ld\n",sum);for(i=0;i<20;i++)printf("%ld\t",b[i]);} 6.include<stdio.h> ...

c语言作业 很急!!!
答:include "stdio.h"void main(){ int a;int num = 0;scanf("%d",&a);while (a!=0){ printf("%d\n",a%10);num++;a/=10;} printf("共有%d位数字\n",num);return;}

C语言编程作业,急!!!
答:include "stdio.h"#include <string.h>struct tel{char name[11],num[11];};int main(int argc,char *argv[]){struct tel s[50];int n,i;char t[]="###";printf("Please enter n(int 0<n<51)...\n");if(scanf("%d",&n)!=1 || n<1 || n>50){printf("Input error,...

C语言作业 巨急无比
答:.month - 1] = c + record[i].earning;} printf("每个月的总收入,支出以及总余额是:");for (int i; i<12; i++){ printf("%d %f %f %f", i + 1, earning[i], payout[i], earning[i] + payout[i]);} } 度娘没排版,身边没有调试工具,请调试后再使用 纯手打望采纳 ...

高分求写几个C语言简单代码作业,今天12点以内。
答:1.include <stdio.h> int main() { float s,r,t; scanf("%f %f",&s,&r); t=s*r; printf("%0.2f\n",t); return 0; }2.include <stdio.h>int main(){float c;scanf("%f", &c);printf("%.2f\n", c * 1.8 + 32);return 0;}3.include <stdio.h>#include <...

C语言作业题
答:3、 C语言用( )表示逻辑"真"值。C) 1 4、 C语言中while 和do-while 循环的主要区别是( )。A) do-while的循环体至少无条件执行一次 5、 以下叙述正确的是( )。B) 只能在循环体内和switch语句体内使用break语句 6、 对下面程序段叙述的正确的是( )。int k=0;while (k=0) ...

C语言作业 急啊!!
答:include <stdio.h> int ReverseInt(int x) // 带参函数 { int num = 0;while(x > 0){ num *= 10;num += x%10;x /= 10;} return num;} int main(){ int i;for(i=10; i<=1000; i++) // 从10开始的回文数 { if(i == ReverseInt(i))printf("%d\n", i);} ...