C语言新手求助:求表达式s=aa...aa-...-aaa-aa-a,fun函数我没怎么懂,求大神解释
#include "stdio.h"
void main()
{
unsigned short a=0,n=0;
long caculate(unsigned short a,unsigned short n);
printf("Input A:");
scanf("%u",&a);
printf("Input n:");
scanf("%u",&n);
printf("Result:%ld",caculate(a,n));
getch();
}
long caculate(unsigned short a,unsigned short n)
{ int i;
long num=0,c=a,sum;
for(i=0;i<n;i++)
{num=c+num;
c=c*10;}
sum=num;
for(i=0;i<n;i++)
{
sum=sum-num/10;
num=num/10;}
return sum;
}
例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
*/
public static void main(String[]args){
Scanner sca=new Scanner(System.in);
System.out.println("请输入一个数");
int num=sca.nextInt();
int n=0,sum=0;
for(int i=1;i<=5;i++){
n=n*10+num;
sum=sum+n;
}
System.out.println(sum);
}
九九乘法表:
public class Test1{
public static void main(String[]args){
for(int i=1;i<=9;i++){
for(int j=1;j<=i;j++){
//“”代表制表符System.out.print(j+"*"+i+"="+i*j+'');
}
System.out.println();
}
}
}
打印输出的结果为:
扩展资料:system(系统)函数
windows操作系统下system()函数详解(主要是在C语言中的应用)
功能:发出一个DOS命令
用法:int system(char*command);
system函数已经被收录在标准c库中,可以直接调用
程序例:
#include
#include
int main(void)
{
printf("About to spawn and run a DOS command
");
system("dir");
return 0;
}
又如:system("pause")可以实现冻结屏幕,便于观察程序的执行结果;system("CLS")可以实现清屏操作。而调用color函数可以改变控制台的前景色和背景,具体参数在下面说明。
例如,用system("color 0A");其中color后面的0是背景色代号,A是前景色代号。各颜色代码如下:
0=黑色1=蓝色2=绿色3=湖蓝色4=红色5=紫色6=黄色7=白色8=灰色9=淡蓝色A=淡绿色B=淡浅绿色C=淡红色D=淡紫色E=淡黄色F=亮白色
(注意:Microsoft Visual C++6.0支持system)
long fun(int a,int n)
{
int j;
long s=0,t=0;
for(j=0;j<n;j++)//这个地方循环累加,然后最后得出的就是aaaaaaaa……
t=t*10+a;
s=t;//这个地方是吧算出来的值赋给s
for(j=1;j<n;j++)//这个循环就开始减了。
{
t=t/10;//因为是long型的,所以这一句话可以减少一个a(aaaaa/10=aaaa)(假如有n=5)
s=s-t;//这个地方就是aaaaa-aaaa,然后在循环下来就再减一个aaa,再循环就再减一个aa,然后再减一个a,之后就会推出for循环了
}
return(s);
}
main()
{
int a,n;
printf("\nPlease enter a and n:");
scanf("%d%d",&a,&n);
printf("The value of function is% ld\n",fun(a,n));
}
首先说明你的main函数少了一个返回值 int
代码的作用楼上说的很对,第一个for循环是来获得一个整数其有n位,每位上的数字是a。
第二个for循环是作用是用上述获得的共n位a的整数,分别减去共n-1位a的整数,知道减到只有一位的a
你把数代进去就看懂了,
比如: 66666-6666-666-66-6,
第一个for循环求的是 66666,赋值 给s,
第二个循环是在依次减去:6666,666 , 66 和 6
C语言新手求助:求表达式s=aa...aa-...-aaa-aa-a,fun函数我没怎么懂,求...
s=t;\/\/这个地方是吧算出来的值赋给s for(j=1;j<n;j++)\/\/这个循环就开始减了。 { t=t\/10;\/\/因为是long型的,所以这一句话可以减少一个a(aaaaa\/10=aaaa)(假如有n=5) s=s-t;\/\/这个地方就是aaaaa-aaaa,然后在循环下来就再减一个aaa,再循环就再减一个aa,然后再减一个a,之后就会推出for循环了...
C语言while语句的问题,求助
如果用第一个语句,循环到n=99+1的时候(这时求了1到99的和),再回到while条件,是满足n<=100的,所以进行下一步s=s+n的运算,这时才加到了100.再往下进行n=n+1的时候已经超过条件101,就不能再求和了。如果用第二个语句到99=98+1的时候,求到了1到99的和,99没有超过100,可以继续循环...
求助C++表达式新手练习题。
表达式a=0||sizeof(int)先计算表达式sizeof(int)值为4 再计算0||4值为逻辑值1 最后将值1赋值给a 所以整个表达式的值为逻辑值1,即值为真,故选择A true
C语言 求助
详情请查看视频回答
新手求助!C语言编程。要求求出一个数组的平均值,然后把数组中比平均值...
一个小失误,赋值语句写反了 x[i]=y[f]; 改成 y[f]=x[i];x[i]=y[l]; 改成 y[l]=x[i];这样就好了 还有你输出的时候 printf("%d",y[i]); 最好加个空格,不然会输出的数挤在一起,不好辨认 printf("%d ",y[i]);...
新手求助,C语言,求一个数的倒数..
1\/2=0;include<stdio.h> void main(){ float a;scanf("%f",&a);\/\/%d整形,要用%f if(a==0)printf("error\\n");else printf("%f\\n",1.0\/a);}\/\/要用%f
C语言:检验是否是素数(新手求助)
include<stdio.h> int main(){ int i,n;printf("input a number\\n");scanf("%d",&n);if(n==1||n==2)\\\\ 注意 1 和2 也是素素 printf("Y");else { for(i=2;i<n;i++){ if(n%i==0)break;} if(i==n)printf("Y");else printf("N");} return 0;} ...
C语言鸡兔同笼问题,新手求助
int main (void){ int x,y,n,m,a;scanf ("%d",&a); \/\/这个a是让你用来控制循环次数的,你没有利用 while (scanf ("%d %d",&n,&m)!=EOF){ \/\/你的这个循环,每次用来输入一对数,并解一对数 if (m > 0 && n < 100){ x = 2 * n - m \/ 2,y= m \/ 2 -n;}...
C 语言新手求助大神解释下面这个程序怎么运行的。
表示不会在爱了,同时的答案也能被诬陷,你妹啊
新手求助,如何用字符串做if条件语句的判断条件
楼主问题是否这样: str=“xxxx”; if $str then {...} . 如果是shell环境,很可惜呢,这个貌似做不到:在if被调用前,$str已经先一步被shell按字符型转换成了boolean值。str字串里面的<=>等if内置关键字统统被shell按类型转换处理掉了,只要不是空字符一般都会返回布尔值1(需要查看你使用...