C语言的大神来帮帮忙

1. 从键盘输入一个正数num(若不是正数,则提示错误,并且重新输入),然后调用函数func,函数func的功能是:计算正整数num的各位上的数字之积,并将结果返回给主程序,主程序将结果输出至屏幕。例如,若键盘输入252,则屏幕输出20,若键盘输入202,则屏幕输出0。注意,func函数的类型及参数需要编写者自行定义! 注意了不知道是几位数哦!
2. 定义一个字符指针数组为char *names[] = { "Apple", "Banana" , "Pineapple" , "Peach" , "Strawberry" , "Grapes" }; 要求:对该字符指针数组进行冒泡排序,排序原则为按字符串长度由长到短排序,若字符串长度一样,则对字符串字母进行比较,按比较结果由大到小进行排序。最后,在屏幕输出排序后的字符串。(每行显示一个字符串)注意,字符串函数在string.h的头文件里定义! 3. 读入一个字符串(长度<20),将该字符串中的所有字符按ASCII码升序排序后输出,例如:若输入:edcba,则应输出:abcde。 4. 自定义一个大小为10的数组,并从键盘进行初始化。然后从键盘输入数字a,调用函数func,该函数的功能是:删除数组中值为a的元素,同时将其他元素前移。然后在主程序中将处理后的数组输出。func函数的类型及参数需要编写者自行定义!并且处理后输出数组时应输出数组的实际大小,如删除了2个元素,则应该输出剩余的8个元素,而不是10个元素。 5. 从键盘输入一个正数n和一个正数k(若不是正数,则提示错误,并且重新输入),然后调用函数digit,调用的数学形式为:digit(n,k),函数digit的功能是:取出数n从右边起的第K位数字,例如:digit(1234,3)=2, digit(1234,4)=1, digit(1234,6)=0,并将结果返回给主程序,输出至屏幕上。
6. 从键盘读入一行字符,调用函数,函数功能是统计这行字符中的单词个数,单词之间用空格分隔。函数的返回值就是单词的个数。从main函数里出结果。 7. 从键盘读入一行字符,调用函数,函数功能是去除字符串中所有大写字母和数字字符,函数调用结束后,在main函数里输出剔除后的字符串。 8. 编写程序,根据以下公式求π的值并输出计算后得到的π值(注意该公式右端为π/4),要求计算满足精度0.000001,即某项的值小于0.000001时停止计算,并且该项不计入该公式中(4分) 9. 从键盘输入一行字符串(长度小于50),对该字符串所有的字符进行替换加密,并将替换加密后的字符串输出至屏幕。(4分)替换加密原则如下:f(p)=p*13 %128(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于等于32或f(p)的值是偶数,则该字符不变,否则将f(p)所对应的字符替代该字符。

第1个回答  2014-05-22
#include <stdio.h>
int fun(int a);
void main()
{
int mun=1;
int resul=1;
scanf("%d",mun);
resul=fun(mun);
printf ("%d",resul);
}
int fun(int x)
{
int ge,shi,bai,qian,wan,qi;
if (x>10000)
{
wan=x/10000;
qian=(x%10000)/1000;
bai=(x%1000)/100;
shi=(x%100)/10;
ge=(x%10);
qi=wan*qian*bai*shi*ge;
}

if (x>1000)
{

qian=x/1000;
bai=(x%1000)/100;
shi=(x%100)/10;
ge=(x%10);
qi=wan*qian*bai*shi*ge;
}

if (x>100)
{

bai=x/100;
shi=x/10;
ge=(x%10);
qi=wan*qian*bai*shi*ge;
}

return (qi);
}本回答被提问者采纳
第2个回答  2014-05-22

第一题:

#include<stdio.h> 
void main()
{
long s=1;
int x;
char a[100];
scanf("%s",a);
char*p = a;

for (int i = 0; i < sizeof(p)-1; i++)
{
x = (int)p[i] - 48;
s *= x;

}

printf("%ld\n",s);
}

第3个回答  2014-05-22
下载个计算机二级考试C语言的题库,在里面找吧
第4个回答  2014-05-22
这些问题,取CSDN论坛问,更靠谱。追问

嗯,谢谢

相似回答