⑴ c语言问题,求详细解释!!!!!!!!尤其是*s2=“\n123\\”
答案是A
strlen返回的是第一个'\0'之前的字符个数
关于s2中的字符分别为:
\n 代表换行符
1
2
3
\\ 两个反斜杠,是一个反斜杠字符
⑵ 如何用C语言输入123,输出321
是这样的。
int n,a,b,c; 定义了4个整型变量,其中n为即将输入的数,a为所输入数字的百位数,b 为所输 入数字的十位数,c为所输入数字的个位数。
scanf("%d",&n); 获取键盘输入的数字,假设输入了123,此时n的值为123。
a=n/100; 获得百位数,用123进行整除100操作,此时得1,即a值为1 。
c=n%10; 获得个位数,用123除以10进行取余操作,得余数为3,即c值为3。
b=(n-a*100)/10; 获得十位数,用(123-1*100)进行整除10操作,得b值为 2。
printf("%d\n",c*100+b*10+a); 最后反序输出,此前的个数数c变为百位,即c*100
此前的十位数依然是十位数,即b*10
此前的百位数变为个位数,即a
三者相加,即得反序的三位数了。
即3*100+2*10+1=321
该题其实特别简单,关键是如何获取三位数中每个位里 的数字。好好体会吧。
⑶ c语言怎么求1到n的累加和
1、首先定义一个函数,这个函数里的内容求n的阶乘,返回值是n的阶乘,如下图所示。
⑷ 50分送上 C语言 在字符串中找到连续的数字 比如123
#include<stdio.h>
#include<conio.h>
#include<string.h>
int main()
{
void number(char *,int); //函数声明 @@@
char ch[80];
int m;
gets(ch);
m=strlen(ch); //字符串长度
number(ch,m); //调用函数
getch();
return 0;
}
void number(char *p,int n)//@@@
{
int i,a[20],k,size;
for(i=0,k=0;i<n;i++)
{
if(*(p+i)<='9'&&*(p+i)>'0') //判断是否为数字 @@@
{
a[k]=*(p+i)-48;
if(*(p+i)-*(p+i+1)==1) //判断下一个字符是否是此数字-1; @@@
{
while(*(p+i)-*(p+i+1)==1)
{
a[k]=a[k]*10; //把数字赋值给a数组
a[k]=a[k]+*(p+i+1)-48;//@@@
i++;
}
k++;
}
else if(*(p+i)-*(p+i+1)==-1) //判断下一个字符是否是此数字+1; @@@
{
while(*(p+i)-*(p+i+1)==-1)
{
a[k]=a[k]*10;
a[k]=a[k]+*(p+i+1)-48;//@@@
i++;
}
k++;
}
}
}
for(i=0;i<k;i++)//@@@
printf("%d\n",a[i]);
}
⑸ C语言:给定一个整数n,求n的各位数字之和,比如123,其各位数字之和为1+2+3=6,结果为6.如图求解释
123为例
不为0
模10 = 3
s = 3
x = 12
模10 = 2
s = 3+2 = 5
x=1
模10 = 1
s = 5+1 = 6
x=0
循环结束
返回6
每次取模取个位,
然后除10的商继续此循环
⑹ C语言中的 1 123 12345 1234567怎么编程谢谢。
main(){
int i = 1;
while(i <= 7){
int j = 1;
while(i <= j){
print("%d", &j);
j++;
}
print("\n");
i = i+2;
}
}
⑺ c语言中从标准输入上读入整数正整数n,使用递归函数逆序输出n的各位数字。例如123输出321,1
#include<stdio.h>
intmain()
{
inta,t;
scanf("%d",&a);
t=0;
while(a){
t=t*10+a%10;
a/=10;
}
printf("%d ",t);
return0;
}
⑻ (c语言编程) ,用函数调用,使求从键盘上输入任意正整数的反序数,例如123→321
#include<stdio.h>
#include<string.h>
#define max 100//定义数组最大值
void fun(char *str)
{
int i,j,len;
char temp;
len = strlen(str);//计算字符串的长度函数
for(i = 0, j = len - 1; i < j; i++,j--)//反序运算
{
temp = str[i];
str[i] = str[j];
str[j] = temp;
}
}
void main()
{
char num[max];
printf("Please input a integer number:");
gets(num);
printf("\n");
fun(num);//调用函数
printf("After converdion, the answer is :");
printf("%s\n",num);
}
此程序已经通过调试,望采纳,谢谢。
⑼ C语言输入一个正整数n,将其逆序输出。例如输入123,则程序将输出321
C语言输入一个正整数n,将其逆序输出:
#include<stdio.h>
#include<stdlib.h>
intmain(){
inta;
while(scanf("%d",&a)!=EOF){
while(a>0){
printf("%d",a%10);
a=a/10;
}
printf(" ");
}
return0;
}
运行结果如下:
(9)c语言中123n怎样求扩展阅读:
算法:
首先判断输入的正整数的位数,(例如1000=n<9999)
然后输出m(注意,C语言里方括号是取整运算符号)
//因为是整型运算,其实方括号可以省去
m=[n/1000]; //【取出千位】
n-=1000*[n/1000]; //【n只剩下三位】
m+=10*[n/100]; //【取出百位】
n-=100*[n/100]; // 【n剩下两位】
m+=100*[n/10]+1000*(n-[n/10]); //【取出十位】
printf("d%",m);