我是C ++的新手。我编写了一个使用unsigned long long int
数据类型的程序。
我无法正确打印变量
这是代码:
#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
#include <math.h>
using namespace std;
int main() {
/* Enter your code here. Read input from STDIN. Print output to STDOUT */
int t ;
int x = scanf("%d",&t);
unsigned long long int a,b,c;
unsigned long long int counter,n ,mod = pow(10,9)+7;
while (t>0){
int y = scanf("%llu,%llu,%llu",&a,&b,&n);
//printf("%llu\n",a);
if (n == 1){
printf("%llu",b);
}else if (n == 0){
printf("%llu",a);
}else{
c = 0;
counter =2;
while (counter <= n){
c = a+b;
a = b;
b = c;
++counter;
}
if (c>mod)
c=c-mod;
printf("%llu",c);
}
--t;
}
return 0;
}
标准输入:
8
2 3 1
9 1 7
9 8 3
2 4 9
1 7 2
1 8 1
4 3 1
3 7 5
预期产出:
3
85
25
178
8
8
3
44
观察输出:
23191798
答案 0 :(得分:1)
与Java的println
功能不同,printf
执行不添加换行符。
如果您希望这样做,请在字符串中添加'\ n'。
printf("some text\n");