帮我看一下这个问题,挺恼火的!
写一个程序,完成下面功能:The problem gives you an integer number, whose absolute value is not larger than 10^1000000, and your task is calculating the integer mod 9.
//程序输入一个整数,这个整数的绝对值不超过10^1000000,你的任务就是对该整数取模9
#include<stdio.h> int main() { //算法思想: // 一次读入一个字符,将该字符转化为整型(用n_var保存),对n_var进行 // 运算,再次读入时,n_var=n_var*10+(c_var-'0'),再对n_var进行处理, // 直到scanf("%c",&c_var)==0,即输入结束为止 //////////////////////////////////////////////////////////////////////
int n_var=0,fuhao = 0; //符号用来存放符号位,若为负数则为-1,其他为0 char c_var,c; while(scanf("%c",&c_var)==1) { if(c_var=='\n') return 0; if((c_var-'0')<0) { fuhao = -1; n_var = 0; } else n_var = (n_var*10+(c_var-'0'))%9; } if(fuhao == -1) //-3取9的模,结果应该为6 printf("%d\n",9-n_var); else printf("%d\n",n_var); return 0; } //我这算法时间消耗挺大的,那位高手有更好的算法,欢迎指教