当前位置:首页 » 编程语言 » c语言正序输出
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言正序输出

发布时间: 2022-08-11 21:13:59

‘壹’ c语言:这个程序怎么才能正序输出和逆序输出

//这个是你创建链表的问题,注意你的头指针不能移动,你的这个有点像双向链表了。还是这样写比较好,如下,注意链表结束后要至null
linklist
createlist_l(linklist
l,int
n)
{
int
i;
linklist
p=null,p2=l;
for(i=n;i>0;i--)
{
p=(linklist)malloc
(sizeof(lnode));
scanf("%d",&p->data);
p2->next=p;
p2=p2->next;
}
p2->next=null;
return
l;
}

‘贰’ C语言编程:输入一个整数并能逐位正序或反位输出,用递归完成。

一、问题分析:

要把整数逐位输出,无论正序还是反序,都需要将各个位分离。

在C中的做法就是,通过对10取余,取出个位,然后通过除以10,起到“移位”的效果。

二、算法设计:

1、输入要处理的整数;

2、取出各位;

3、递归调用,以当前值除以10为参数;

4、当值为0时退出。

正序和反序输出,取决于递归调用和输出的位置关系。

三、参考代码:

正序:

#include<stdio.h>
voidfunc(intn)
{
intv;
if(n==0)return;//到0结束。
v=n%10;//取出个位。
func(n/10);//递归调用
printf("%d",v);//输出。
}
intmain()
{
intn;
scanf("%d",&n);//输入。
func(n);//调用函数,正序输出各个位。
return0;
}

反序:

#include<stdio.h>
voidfunc(intn)
{
intv;
if(n==0)return;//到0结束。
v=n%10;//取出个位。
printf("%d",v);//输出。
func(n/10);//递归调用
}
intmain()
{
intn;
scanf("%d",&n);//输入。
func(n);//调用函数,正序输出各个位。
return0;
}

‘叁’ c语言正序和倒序输出数

错误的地方太多了。

1:数组的下标是从0开始的
int number[10],

定义一个10元素的数组,则下标只能是从0-9,不会出现 number[10]=??这种情况,出现就越界了。

2:printf("you entered %d \n",number[i]);
你输入用了循环输入10个数,你输出一个数组,就想一次输出??也需要循环一个一个输出啊!!

3:逆序的问题
while (i<=10)
{
number[i]=number[11-i];
i=i+1;
}
先不管下标的问题对不对,你这样以后 :假设number就三个元素
1 2 3
则number[0] = number[2] = 3了。number[1]=number[1]=2 number[2]=number[0]=3 这样还对吗??你把number[0]的值给弄丢了。

‘肆’ C语言中,自定义一个含有5个元素的数组,使用指针输入元素的值,实现正序倒序输出每一个元素

#include<stdio.h>
#define N 5
void main() { int a[N],i,*p;
p=a; for ( i=0;i<N;i++,p++ ) scanf("%d",p);
p=a; for ( i=0;i<N;i++,p++ ) printf("%d ",*p); printf("\n");
p--; for ( i=0;i<N;i++,p-- ) printf("%d ",*p); printf("\n");
}

‘伍’ c语言正序输出每个数字

#include<stdio.h>
#include<math.h>
main()
{
printf("please input a number below 6 numbers:");
int n;
scanf("%d",&n);
int a=10,b=1;
while((n/a)>=1)
{
a=a*10;
b++;
}
if(b>5)printf("below 6 numbers!");
else printf("This is a %d numbers number\n",b);
// 加一个int m=n;
for(;n>0;)
{
printf("%d ",n%10);
n = n/ 10;
} // 这个for循环改成
for(;m>0;)
{
printf("%d ",m%10);
m = m/ 10;
}

printf("\n");
for(;n>0,b>0;)
{
printf("%d ",n/pow(10,b));
n=n-pow(10,b);
b--;
}
printf("\n");
}

先试试?

‘陆’ c语言如何输入一个正整数N,再输入N个整数,按从小到大的顺序输出

#include<stdio.h>
void main(){
int num[10000],i,j,temp,N,count=0;
//确定数组num的实际大小
printf("请输入一个大于0的整数:");
scanf("%d",&N);
//限制数字n的值在0到10000之间
while(N<=0||N>=10000){
printf("你输入的数字不在0到10000之间,请重新输入!\n\n");
printf("请输入一个大于0的整数:");
scanf("%d",&N);
}
//输入数组num中的所有数
for(i=0;i<N;){
printf("请输入第%d个数:",(i+1));
scanf("%d",&num[i]);
if(num[i]<0){ //使数组num中的元素值都大于等于0
printf("必须输入一个大于等于0的数!\n\n");
}else{
i++;
}
}
//使用冒泡排序来使得数组的元素值从小到大排序
for(i=0;i<N;i++){
for(j=0;j<N-i-1;j++){
if(num[j]>num[j+1]){
temp=num[j];
num[j]=num[j+1];
num[j+1]=temp;
}
}
}
//输出排序数组中所有元素的值,这里我使用每行10个来换行输出
printf("数组num从小到大的排序是:\n");
for(i=0;i<N;i++){
count++;
if(count!=0&&count%10!=0&&count!=N){
printf("%d,",num[i]);
}else {
printf("%d\n",num[i]);
}
}
}

‘柒’ C语言:用while循环正序输出一个整数。我是初学,请大神帮忙写下。

#include<stdio.h>

intmain()
{
inti=1;
while(i<=10)
{
printf("%d",i);
i++;
}

return0;
}

这里是输出地1-10

‘捌’ c语言 输入一行字符串,先正序输出,再倒序输出。

#include<stdio.h>
#include<string.h>
main()
{
chara[100];
inti;
gets(a);
puts(a);
for(i=strlen(a)-1;i>=0;i--)
printf("%c",a[i]);
}

您好,很高兴为您解答,流星不死为您答疑解惑

如果本题还有不懂的地方请追问,望采纳我的回答。

祝楼主学习进步。

上面的代码可以直接复制到编译器里,带换行。

‘玖’ c语言中如何实现输入一个整数实现倒序输出

1、新建一个工程和.c文件,输入头文件和主函数