去趟南极多少钱:C语言难啊!!!请高手帮忙啊!定又重谢........

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/02 10:06:56
4.不用strcpy函数,编写一个程序,将字符数组S1中的全部字符拷贝到字符数组S2中。
5.写一个判别素数的函数,在主函数输入一个整数,输出是否是素数的信息。
6.用函数实现,将一个十进制数,转换成相应的二进制数并输出。
7.编程,用穷举法解百马百担问题(有100匹马驮100担货,大马驮3 担,中马驮2担,两匹小马驮1担,问有大、中、小马各多少?。要求:输出计算结果;在数据输出之前应有提示信息。
8.编写一个使用“冒泡法”排序的无类型函数sort(int data[],int num,char ch),其功能是根据参数ch的值(s :升序,j:降序),将形参数组data中的数据排成升序或降序。要求函数能校验参数ch的值。
9.有一字符串,包含n个字符。写一函数,将此字符串从第m个字符开始的全部字符自制成另一个字符串并输出这个字符串。例如,要求把字符串abcdefgh中的第3个字符开始的全部字符自制成为另一个字符串cdefgh。
10.从键盘上输入n(n<50)个任意位的正整数m(m<32767),将每个整数的各位数字之和存放在数组a中。要求:求每个整数的各位数字之和用自定义函数来实现。
11. 打印出乘法九九表(三角形形式)。
1*1=1 2*1=2 3*1=3……………………………………9*1=9
2*2=2 3*2=6……………………………………9*2=18
3*3=9……………………………………9*3=27
……………………………………
9*9=81
12. 编写一个求n!的递归调用函数,求SUM=4!+10!+13!。
13. 从键盘上输入一个字符串存入str数组(小于30个字符),编写一个函数将该数组中的字符颠倒后仍存入原数组中。
14.输入两个正整数m和n,求其最大公约数和最小公倍数。
15. 已知一个m*n 的二维数组,编程求出其中的最大数及它们的行列坐标。
16.将任意输入的n位不大小32767的正整数,转化成两数字之间有1空格的一串字符输出。例如:输入357时,输出:3 5 7。
17.输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
18. 编程实现从键盘为一个6×6 整型数组赋值,并将每一行的最小值和最大值显示出来。
20.将1000~5000之间的所有能被7和5同时整除的数打印出来。
21.编程实现将某一数组从第n个元素开始的各元素值增一的程序,要求增一操作在自定义函数中实现。(假定数组有10个元素,从第5个元素开始增加。)
22.求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
23.将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
24.一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程,找出1000以内的所有完数。
25.有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
26.一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
27.打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
您可以不 全回答啊!!望知道者能回答一二,我已经是不胜感激!

4
#include <iostream.h>
void strcpy1(char s1[],char s2[])
{
int i(0),j(0),k;
while(s1[i]!='\0')
i++;
while(s2[j]!='\0')
j++;
for(k=0;k<=i;k++)
s2[j+i]=s1[i];
}
void main()
{
char s1,s2;
strcpy1(s1,s2);
cout<<s2<<endl;
}

6.用函数实现,将一个十进制数,转换成相应的二进制数并输出。
int fun(int x)
{ if(x<2) return x;
return x%2+10*fun(x/2);
}
int main(void)
{ int x;
scanf("%d",&x);
printf("十进制:%d\n",x);
x=fun(x);
printf("二进制:%d\n",x);
getch();}
8.编写一个使用“冒泡法”排序的无类型函数sort(int data[],int num,char ch),其功能是根据参数ch的值(s :升序,j:降序),将形参数组data中的数据排成升序或降序。要求函数能校验参数ch的值。
#include <stdio.h>
#include <string.h>

void fun(char*pstr[], int n)
{
int i, j;
char *temp;
for (i = 0; i < n - 1; i++)
{
for (j = 0; j < n - i - 1; j++)
{
if (strcmp(pstr[j], pstr[j + 1]) == 1)
{
temp = pstr[j];
pstr[j] = pstr[j + 1];
pstr[j + 1] = temp;
}
}
}
}

int main()
{
int i;
char *pstr[] = {"aa", "ab", "bb", "bc", "a"};
fun(pstr, 5);
for (i = 0; i < 5; i++)
{
printf("%s\n", pstr[i]);
}
return 0;
}
12. 编写一个求n!的递归调用函数,求SUM=4!+10!+13!。

int fun(int n)
{
if(n==1) return 1;
else
return n*fun(n-1);}

int main()
{int sum=0;
sum=fun(4)+fun(10)+fun(13);
printf("%d",sum);
getch();
}
int fun(int n)
{
if(n>1)
return n*fun(n-1);
return 1;}

int main()
{int sum=0;
sum=fun(4)+fun(10)+fun(13);
printf("%d",sum);
getch(); }

14.输入两个正整数m和n,求其最大公约数和最小公倍数。
int main()
{
int p,r,n,m,k,i;
scanf("%d%d",&m,&n);
if (n<m)
{
k=n;
n=m;
m=k;
}
for(i=1;;i++)
{ p=i*n;
if(p%m==0) break;
}
for(i=m;;i--)
{r=i;
if(m%r==0&&n%r==0) break;
}
printf("%d %d",p,r);
getch();
}
16.将任意输入的n位不大小32767的正整数,转化成两数字之间有1空格的一串字符输出。例如:输入357时,输出:3 5 7。
int main()
{
char n;
while(scanf("%c",&n)!=EOF)
{
printf(" %c",n);
}
return 0;
}
18. 编程实现从键盘为一个6×6 整型数组赋值,并将每一行的最小值和最大值显示出来。
void main()
{
int a[10]={2,3,5,1,8,4,7,9,0,6};
int i,s;
int max,min;
max=min=a[0];
for(i=s=0;i<10;i++)
{
s=s+a[i];
if(a[i]>max)max=a[i];
if(a[i]<min)min=a[i];
}
printf("%d %d %d",s,max,min);
getch();
}
20.将1000~5000之间的所有能被7和5同时整除的数打印出来。
main()
{
int i;
for(i=1000;i<=5000;i++)
{
if(i%7==0&&i%5==0)
printf("%d ",i); }

printf("\n");
getch();
}
27.打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方
main(){
int i,j,k;
for(i=1;i<10;i++)
for(j=0;j<10;j++)
for(k=0;k<10;k++)
if( (i*100+j*10+k)==((i*i*i)+(j*j*j)+(k*k*k)))
printf("%d%d%d ",i,j,k);
getch();
}

这么多问题至少要1000分我才回答

靠,这么简单的问题也叫难!!!
不过问题的数目好像太多了

其实都简单,你自己也会,不要偷懒。具体哪个不会单独说

这位仁兄
你是不是在学习啊?
最好是你自己做
不过你可以把你做是拿给我帮你修改