c语言很长一
A. c语言 输入一个很长的数字,判断能否被7整除
你好,程序如下:
#include<stdio.h>
void
main()
{
int
i;
printf("输入一个数字:\n");
scanf("%d",&i);
if(0==i%5)
printf("这个数字是5的倍数!\n");
else
printf("这个数字不是5的倍数!\n");
}
有疑问提出。
望采纳。
B. C语言非常长的数用什么保存
用数组啊,大数运算都用int数组的;
先用char数组接收,然后按位转存到int数组里
C. C语言,为什么会出现这么长一段数
因为你没有为 F 输入值,也没有初始化,所以默认为一个垃圾数据
D. 在C语言如果一行输入得过长如何续行
C语言中格式是十分灵活的任何两个标识符或保留字及运算符之间都可以断开,
所以换行是随意的.
只有很长的字符串是不能直接切断的.
如果是字符串你也可以把它拆成几段再接起来.
E. C语言中一个语句太长用什么换行
1、区分不同情况,有多种方式可以采用。不管是哪种情况,都可以用结尾作为换行标记,在编译时,后面的换行符将被忽略,当做一行处理。比如宏定义时使用#define my_puts(x) printf("%s",
x);和写作#define my_puts(x) printf("%s",x);是没区别的。 这里的必须存在,不能省略。
2、不过有些情况下可以采用更简单的形式。在字符串中换行。当字符串过长,写在一行中阅读不便时,可以采用一种特殊的换行方式。C语言规定,连续的用""引起的字符串常量,会默认合并为一个常量字符串。
(5)c语言很长一扩展阅读:
1、换行符(line break),是一种计算机语言表达方式,它的作用是跳到下一个新行。在不同的语言中,代码也有所不同。例如:<br>、"
"、"endl"等。
2、回车 ( ) 本义是光标重新回到本行开头,r的英文return,控制字符可以写成CR,即Carriage Return;。
3、换行 ( ) 本义是光标往下一行(不一定到下一行行首)、n的英文newline,控制字符可以写成LF,即Line Feed。在不同的操作系统这几个字符表现不同,比如在WIN系统下,这两个字符就是表现的本义,在UNIX类系统,换行 就表现为光标下一行并回到行首,在MAC上, 就表现为回到本行开头并往下一行,至于ENTER键的定义是与操作系统有关的。
4、C语言中的换行符是" ",就是输入完一行内容后,光标转到下一行的起始位置 。
例如:
printf("first line ");
printf("second line ");
5、HTML语言的换行符:<br>
<br> 可插入一个简单的换行符,<br> 标签是空标签(意味着它没有结束标签,因此这是错误的:<br></br>)。在[1]
XHTML 中,把结束标签放在开始标签中,也就是 <br />。<br> 标签只是简单地开始新的一行,而当浏览器遇到 <p> 标签时,通常会在相邻的段落之间插入一些垂直的间距。
6:C++语言的换行符:C++语言中的换行符是endl。
例如:
cout<<"这是换"<<endl<<"行符";
将显示输出:
这是换
行符。
7、word换行符
word换行符是一种换行符号,它的作用是换行显示,但是它不是真正的段落标记,它的换行不是真正意义上的重起一段,因此被换行符分割的文字其实仍然还是一个段落中的,word中基于段落的所有操作都是不会识别换行符为段落结尾的。
8、在VB中,若命令太长,在一行输入不方便,可以在代码后输入空格和下划线再换行。
例如:
Private Declare Function mciSendString Lib winmm. _
dll Alias mciSendStringA (ByVal lpstrCommand As String, _
ByVal lpstrReturnString As String, ByVal uReturnLength _
As Long, ByVal hwndCallback As Long) As Long。
资料来源:网络:换行符
F. 一条c语言如果太长可以从任何一处插入回车符,将其分别写在若干行上对吗
挑c语言,如果太长了,可以从任何一处插入回车符,将其分写在若干行上吗?我觉得这样可可能是不行的。
G. C语言 怎么将很长的字符串存入数组,以及如何输出
首先你定义的是一个二维数组,数组的大小要大于字符串的长度加1,这个加的1用来保存字符串结束符'\0'
其次,二维数组的输出需要用循环输出,不能直接printf
比如
for(int i=0;i<14;++i){
printf("%s\n", welcome_buff[i]);
}
H. 在c语言中如何输入一个特别长的数
在目前的32位编译器中(含多数的64位编译器)int与long的长度都是相等的,都是32位的它的unsigned范围为0到4,294,967,295 当然,一般的运算也够了(因为大数一般用浮点)如果你的编译器支持64位(long long或__int64)那它的unsiged范围可达18446744073709551615当然,如果你觉得还不够大,就要自己用数组处理了(网上也有大数运算的库)
I. 用c语言把一个很长的 (只含有0到9的数字字符串) 变成 (16进制的字符串)
这个问题其实也不复杂,关键是思路问题
就是一个余数和商的计算
用字符串来存储这个数,每位一个数字
用字符串的加减来实现数字的加减
进制转换,就是多次求余数
第一个余数是进制是转换后的各位,第二个余数就是转换后的十位,以此类推,直到商小于转换的进制,这个道理应该明白
这样就转换为求余数和求商的运算,也就是除法运算
除法运算可以转换为减法运算,经过多次减法,剩下的不足除数的那个就是余数,而这个多少次就是商。这个商又是下一位的被除数
减一次,商就加上1,这样商就可以得到
这是一个不管效率的计算方式
做字符串加法和减法的子函数,这个不难,在这个基础上做除法的子函数,应该能做出来,那么商和余数应该可以求出来
J. c语言表示一个很长的数
两个32位相加, 结果肯定小于32位 * 2即33位, 所以结果的两个无符数中高位的那个只能是0或者1
当相加的两个数太大发生溢出的时候, 结果的高32位手工置为1; 没有溢出的时候为0
所以低32位就是直接相加, 而高32位的值取决于相加的两个数是否会造成溢出
如果溢出, 直接相加的结果会被截断, 所以c = a + b, 如果发生溢出, 截断后的c是小于a且小于b的, 因为有部分被用来填充了
上面就是原理
void add(unsigned int lhs, unsigned int rhs, unsigned int *pResult)
{
pResult[1] = rhs + lhs;
pResult[0] = pResult[1] < lhs && pResult[1] < rhs;
}
void add2(unsigned lhs, unsigned rhs, unsigned *pResult)
{
// 呃.. 这是无聊的做法; 标准当中long long是64位的
long long l = lhs;
l += rhs;
unsigned *p = (unsigned*)&l;
pResult[0] = p[1];
pResult[1] = p[0];
}
int main()
{
unsigned int result[2] = ;
add(1u, 10u, result);
printf("%d,%d\n", result[0], result[1]);
add(1u, 0xffffffffu, result);
printf("%d,%d\n", result[0], result[1]);
add(3u, 0xffffffffu, result);
printf("%d,%d\n", result[0], result[1]);
add2(1u, 10u, result);
printf("%d,%d\n", result[0], result[1]);
add2(1u, 0xffffffffu, result);
printf("%d,%d\n", result[0], result[1]);
add2(3u, 0xffffffffu, result);
printf("%d,%d\n", result[0], result[1]);
}