如何将这样的整数添加到一起。
假设你从1开始,然后你添加2.所以你有12,接下来加3,所以你有123.依此类推。
我只是连接,但我不允许在这个程序中使用字符串。
答案 0 :(得分:4)
使用一些不寻常的数学运算(基于十进制系统的机制)来实现所需的添加变化:
代码:
#include <stdio.h>
int main(void)
{
int i;
int number=0;
for (i=1; i<5; ++i)
{
number=number*10 + i;
printf("%d\n", number);
}
return 0;
}
输出:
1
12
123
1234
答案 1 :(得分:0)
喜欢这个吗?
#include <stdio.h>
int main() {
int a = 4, b = 5, c = 6, d = 7;
printf("a+b=%d\n",a*10+b);
printf("a+b+c=%d\n",(a*10+b)*10+c);
printf("a+b+c+d=%d\n",((a*10+b)*10+c)*10+d);
return 0;
}
答案 2 :(得分:-1)
这可能是使用realloc
char *mystr = NULL;
char *temp;
char c, ch;
short count = 0;
do {
printf("Enter character : ");
scanf(" %c", &c); // Better use sscanf or fgets, scanf is problematic
temp = (char*)realloc(mystr, (++count) * sizeof *mystr);
if (NULL != temp) {
mystr = temp;
mystr[count - 1] = c;
}
printf("Do you wish to continue: ");
scanf(" %c", &ch);
} while ('y' == ch);
// Since and since you don't have a null terminated string, do
for (int i = 0; i < count; i++)
printf("%c", mystr[i]);
printf("\n");
free(mystr); // Freeing the memory
getch();
注意:此程序中没有字符串;)