C循环,初学者的东西
我的任务是制作一个程序,在这个程序中,你必须在一个给定的位置上,在另一个给定的数字中输入一个给定的数字。示例:输入:12345,2,3输出123245。我试图做一个循环,但它显然是一个无限循环。代码如下:C循环,初学者的东西,c,loops,C,Loops,我的任务是制作一个程序,在这个程序中,你必须在一个给定的位置上,在另一个给定的数字中输入一个给定的数字。示例:输入:12345,2,3输出123245。我试图做一个循环,但它显然是一个无限循环。代码如下: int c, x, p, broj, i = 0, brcifara = 0, k, broj2, k2, broj3, ind; printf("Unesite redom x, p i c: "); scanf("%d%d%d", &x, &p, &c); broj
int c, x, p, broj, i = 0, brcifara = 0, k, broj2, k2, broj3, ind;
printf("Unesite redom x, p i c: ");
scanf("%d%d%d", &x, &p, &c);
broj2 = x;
while(broj2 >= 1)
{
broj2/= 10;
brcifara += 1;
}
while(i < brcifara)
{
k2 = pow(10, i + 1);
k = broj3%k2;
broj3 -= k*pow(10, i+ 1);
if(i<p)
{
broj += k*pow(10, i+1);
}
if(i=p)
{
broj += c*pow(10, p);
}
if(i>p)
{
broj += k*pow(10, i+2);
}
i = i + 1;
}
printf("Broj je sada %d", broj);
intc,x,p,broj,i=0,brcifara=0,k,broj2,k2,broj3,ind;
printf(“联合国可再生能源公司,太平洋:”);
scanf(“%d%d%d”、&x、&p和&c);
broj2=x;
而(broj2>=1)
{
broj2/=10;
brcifara+=1;
}
而(我
}
C代表输入的数字,X是我们输入的数字,P代表位置(从0开始)。Brcifara是位数。问题只在第二个循环中 为什么不试试这样的东西:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdint.h>
#define MAX_STR_SIZE (100U)
int main()
{
char x[MAX_STR_SIZE] = {'\0'};
unsigned int p;
char c;
int x_int;
printf("input x, p, c\n");
scanf("%s %d %c", x, &p, &c);
if(strlen(x) > p) // check string upper boundary
{
x[p] = c;
}
x_int = atoi(x);
printf("%d\n", x_int);
}
#包括
#包括
#包括
#包括
#定义最大长度(100U)
int main()
{
字符x[MAX_STR_SIZE]={'\0'};
无符号整数p;
字符c;
int x_int;
printf(“输入x,p,c\n”);
scanf(“%s%d%c”,x,&p,&c);
if(strlen(x)>p)//检查字符串上边界
{
x[p]=c;
}
x_int=atoi(x);
printf(“%d\n”,x\u int);
}
X是一个字符串,在该字符串中,在给定的p位置替换C字符。
因此:
- X是一个字符串
- 一个角色
- P索引(无符号字符)
然后使用atoi()函数将X字符串转换为整数。不要在整数程序中使用pow如果(i=p)更改
中的i
值。正确的语法是if(i==p)
谢谢,伙计,你应该早就想到了。你救了我。12345,2,3
中的2,3
是什么意思?(在3
?)之后插入2
)@DavidC.Rankin这意味着数字放在最后一个数字(从右到左)之后的第二位。我需要整数,如果我可以这样做,请解释如何转换为整数。必须使用atoi()函数将字符串转换为整数。我编辑了我的答案